Lezione di Java 26 – Classi astratte e Interfacce

Indice Lezione PrecedenteLezione Successiva


Le classi astratta servono solo per obbligare le sottoclassi a definire dei metodi. Una classe deve essere marcata abstract se ha un metodo marcato abstract, se non fornisce la realizzazione di un metodo abstract ereditato o se implementa un’interfaccia (le tratteremo nella prossima lezione) e non ne fornisce la realizzazione dei metodi.

public abstract class Veicolo {
  public abstract void stampaNomeVeicolo ();
  public abstract int numeroRuote ();
}
public class Aereo {
  public void stampaNomeVeicolo () {...}
  public int numeroRuote () {...}
}


Tutte le sottoclassi della classe veicolo dichiareranno i metodi o saranno marcate a abstract. L’idea base delle interfacce è uguale a quella delle classi astratte, l’unica differenza consiste nel fatto che se nelle classi astratte possono esserci metodi dichiarati e altri marcati abstract, nelle interfacce  devono essere solo  abstratct, non possono esistere metodi dichiarati! Per questo motivo nella sintassi delle interfaccia il modificatore abstract è sottinteso e non c’è bisogno di indicarlo.
Per indicare ad una classe che implementa l’interfaccia si utilizza la parola implements:

public interface Veicolo {
  public void decolla();
}

public class AereoDaGioco
  implements Veicolo{
  public abstract void decolla () {...}
}

Con le interfacce è possibile anche dichiarare delle constanti, avremo che:

int i=0;

equivale a :

public static final int i = 0;

Dato che in Java una classe non può ereditare da più di una classe per evitare problemi di sovrapposizione (se entrambe le sottoclassi hanno una stessa variabile, il sottoclasse quale deve ereditare?), le interfacce spesso sono considerate un’alternativa all’ereditarietà multipla, non ci sono limiti sul numero di interfacce che una classe può implementare.

Ti piace l’articolo?
Diventa fan su Facebook
Indice Lezione PrecedenteLezione Successiva
Pubblicato in Guide, Guide, Java, Programmazione Taggato con: , , ,
One comment on “Lezione di Java 26 – Classi astratte e Interfacce
  1. Java Job scrive:

    Ciao, trovo queste lezioni Java molto utili.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*