"Ciao, Amigo! Bilaabo ti dirà le differenze tra una classe astratta e un'interfaccia. Ce ne sono diverse."
Classe astratta | Interfaccia |
---|---|
Eredità | |
Una classe astratta può ereditare solo una classe ma può ereditare qualsiasi numero di interfacce . | Un'interfaccia non può ereditare classi , ma può ereditare qualsiasi numero di interfacce . |
Metodi astratti | |
Una classe astratta può contenere metodi astratti . Ma potrebbe non averne affatto. | Tutti i metodi non statici e non predefiniti di un'interfaccia sono abstract , ovvero non hanno implementazione. Un'interfaccia non può avere alcun metodo. |
Metodi con un'implementazione | |
Una classe astratta può contenere metodi con un'implementazione . | Un'interfaccia può avere metodi predefiniti . |
Dati | |
Senza restrizioni. | Un'interfaccia contiene solo dati statici finali pubblici. |
Creazione di oggetti | |
Non è possibile creare un'istanza di una classe astratta. | Non è possibile creare un'istanza di un'interfaccia. |
"Questa è la mia comprensione. Breve e pertinente."
"Grazie, Amico."
GO TO FULL VERSION