PDA

View Full Version : [JAVA] Interfacce e classi astratte


flosfloris
08-03-2007, 14:38
Ciao a tutti...
Faccio molta confusione tra classi astratte ed interfacce qualcuno mi puo kiarire le idee???
Da quello ke so un Interfaccia e una classe con TUTTI i metodi astratti(abstract) e viene implementata attraverso la parola chiave implements..
Una classe astratta invece e una classe normale con almeno una metodo astratto e a diffrenza dell interfaccia estende una classe base...
E cosi oppure ho detto un sacco di stupidaggini??

andbin
08-03-2007, 15:45
Ciao a tutti...
Faccio molta confusione tra classi astratte ed interfacce qualcuno mi puo kiarire le idee???
Da quello ke so un Interfaccia e una classe con TUTTI i metodi astratti(abstract) e viene implementata attraverso la parola chiave implements..
Una classe astratta invece e una classe normale con almeno una metodo astratto e a diffrenza dell interfaccia estende una classe base...
E cosi oppure ho detto un sacco di stupidaggini??In modo molto schematico, possiamo dire:

* Una interfaccia definisce un "contratto" che indica quali metodi dovranno essere implementati da una classe che dichiara di voler implementare l'interfaccia.

* Una interfaccia può avere solo metodi astratti, ogni metodo dichiarato è implicitamente public e abstract ed è opzionale dichiarare questi modificatori.

* Una classe astratta (marcata con il modificatore abstract) può avere o non avere metodi astratti (la questione sostanziale è che se la classe ha almeno 1 metodo astratto allora pure la classe deve essere marcata abstract).

* Una classe può estendere solo un'altra classe (con extends) ma può implementare tutte le interfacce che vuole (con implements).

* Una interfaccia può estendere altre interfacce (con extends)

In realtà ci sarebbe molto altro da dire ... queste sono solo alcune delle regole relative alle classi astratte e alle interfacce.

flosfloris
08-03-2007, 15:58
sei stato molto chiaro grazie :)