chiamando un metodo astratto in classe astratta

-2

Supponiamo di avere una classe base astratta Parent che definisce un metodo astratto A (qualche parametro) prendendo un parametro, inoltre definisce un metodo di istanza B che chiama il metodo A (parametro) all'interno del suo corpo e passa alcuni parametri. Poi abbiamo una classe B concreta per bambini che estende la classe base e fornisce la propria implementazione del Metodo A utilizzando i pass dei parametri. Ho visto molte implementazioni di questa pratica in framework. Voglio sapere come funziona e fornisce vantaggi.

Ecco un codice scritto in Android

public abstract class ParentActivity extends Activity {
    public abstract void onResume(LoginToken token);

    @Override
        protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               Some implementation code
        }

    @Override
        public void onResume() {
              super.onResume();
              Some implementation code
              onResume(token);
        }
}

public class ChildActivity extends ParentActivity{
        LoginToken token;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               Some implementation code
        }

    @Override
        public void onResume() {
              Some implementation code
              super.onResume();
        }

    @Override
        public void onResume(LoginToken token) {
             this.token=token;
        }
}
    
posta anmrk 06.04.2014 - 08:44
fonte

1 risposta

0

Quello che stai descrivendo è il modello di metodo dei modelli . Il vantaggio consiste nel descrivere un processo generale (come accedere, fare qualcosa, disconnettersi) mentre i passaggi effettivi (o alcuni di essi) sono implementati da sottoclassi concrete.

    
risposta data 06.04.2014 - 14:46
fonte