jeudi 15 octobre 2015

What is this structure called and what are its advantages over implements? [duplicate]

This question already has an answer here:

Came across this piece of code while reading a tutorial for something in Android :

protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      ed3=(EditText)findViewById(R.id.editText3);

      b1=(Button)findViewById(R.id.button);
      sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String n  = ed1.getText().toString();
            String ph  = ed2.getText().toString();
            String e  = ed3.getText().toString();

            SharedPreferences.Editor editor = sharedpreferences.edit();

            editor.putString(Name, n);
            editor.putString(Phone, ph);
            editor.putString(Email, e);
            editor.commit();

            in = new Intent(MainActivity.this,second.class);
            startActivity(in);
         }
      });
   }

Here an object is being created within the setOnClickListener() method call :

b1.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
        String n  = ed1.getText().toString();
        String ph  = ed2.getText().toString();
        String e  = ed3.getText().toString();
        SharedPreferences.Editor editor = sharedpreferences.edit();

        editor.putString(Name, n);
        editor.putString(Phone, ph);
        editor.putString(Email, e);
        editor.commit();

        in = new Intent(MainActivity.this,second.class);
        startActivity(in);
     }
  });

But it seems they are writing the class within the call. What is this pattern called?

Also I noticed in another program that instead of creating the object using a class within the call, the author of the code had implemented the respective class and overrode those methods normally.

Is there any advantage over using implements over this pattern or even extends?

Aucun commentaire:

Enregistrer un commentaire