modificatori astratti che possono modificare classi e metodi
1. Classe modificatrice astratta renderà questa classe una classe astratta, questa classe non potrà generare istanze oggetto, ma può essere usata come tipo dichiarato dalle variabili oggetto, cioè i tipi in tempo di compilazione; le classi astratte sono come prodotti semifiniti di una classe, che devono essere ereditati dalle sottoclassi e sovrascrivere i metodi astratti.
2. Il metodo di modifica astratta renderà questo metodo un metodo astratto, cioè esiste solo una dichiarazione (definizione) senza implementazione, e la parte di implementazione è "; invece. Richiede l'implementazione dell'eredità di sottoclasse (override).
Nota: Una classe con un metodo astratto deve essere una classe astratta. Tuttavia, le classi astratte non sono necessariamente tutti metodi astratti, ma possono anche essere metodi concreti.
Gli abstractmodifiers devono essere inseriti nel nome della classe quando si modifica la classe.
Il metodo di modifica astratta richiede alle sue sottoclassi di sovrascrivere (implementare) questo metodo. La sottoclasse può essere chiamata polimorfamente per sovrascrivere (implementare) il metodo, cioè il metodo astratto deve essere implementato nella sua sottoclasse, a meno che la sottoclasse stessa non sia anch'essa una classe astratta.
Nota: La classe genitore è una classe astratta, e vi sono metodi astratti in essa, quindi la sottoclasse eredita la classe genitore e implementa (sovrascrive) tutti i metodi astratti nella classe madre, così che la sottoclasse abbia la capacità di creare istanze di oggetti, altrimenti la sottoclasse deve essere anch'essa una classe astratta. Possono esistere metodi di costruzione nelle classi astratte, che sono i metodi costruttivi della classe genitore (classe astratta) che la sottoclasse deve chiamare quando costruisce l'oggetto della sottoclasse. Ecco un semplice esempio di classe astratta classe astratta E{ Mostra pubblica di Vuoto Astratto(); Abstract pubblico può essere omesso
} Poi altre classi, se lo ereditano, di solito implementano i metodi presenti la classe F estende E{ void show(){ Scrivere codice per implementazioni specifiche
}
} Infine, se nel metodo principale viene definita una referenza genitore per puntare a un oggetto figlio, si verificherà un polimorfismo, come E e=nuovo F(); e.show(); Il metodo show() nella sottoclasse si chiama effettivamente
|