Classe astratta
Una classe astratta è una classe dichiarata astratta — può o non può includere metodi astratti. Le classi astratte non possono essere istanziate, ma possono essere sottoclassi. Una classe astratta può avere campi statici e metodi statici. Quando una classe astratta è sottoclasse, la sottoclasse di solito fornisce implementazioni per tutti i metodi astratti nella sua classe padre. Tuttavia, in caso contrario, anche la sottoclasse deve essere dichiarata astratta.,
Un metodo astratto è un metodo che viene dichiarato senza una implementazione (senza parentesi graffe e seguita da un punto e virgola), come questo:
abstract void sum(int a, int b);
Considerare l’utilizzo di classi astratte, se una qualsiasi di queste affermazioni della situazione:
- Si desidera condividere il codice tra più strettamente relative classi.
- Ci si aspetta che le classi che estendono la classe astratta abbiano molti metodi o campi comuni o richiedano modificatori di accesso diversi da quelli pubblici (ad esempio protetti e privati).
- Si desidera dichiarare campi non statici o non finali., Ciò consente di definire metodi che possono accedere e modificare lo stato dell’oggetto a cui appartengono.
Interfaccia
Un’interfaccia è solo la dichiarazione di metodi di un oggetto; non è l’implementazione. In un’interfaccia, definiamo il tipo di operazione che un oggetto può eseguire. Queste operazioni sono definite dalle classi che implementano l’interfaccia. Le interfacce formano un contratto tra la classe e il mondo esterno e questo contratto viene applicato al momento della compilazione dal compilatore.,
Considera l’uso delle interfacce se una di queste affermazioni si applica alla tua situazione:
- Ti aspetti che classi non correlate implementino la tua interfaccia. Ad esempio, le interfacce Comparabili e Clonabili sono implementate da molte classi non correlate.
- Si desidera specificare il comportamento di un particolare tipo di dati, ma non preoccuparsi di chi implementa il suo comportamento.
- Si desidera sfruttare più eredità.,
Originariamente pubblicato giugno 2016
Ulteriori letture
- Quando (non) usare le classi astratte Java
- Java: Interfaccia vs. Classe astratta
- Come scegliere tra l’interfaccia e le classi astratte in Java
Lascia un commento