Tutorial Java l’ identificatore super

0
8557

Nell’ articolo di oggi andremo a vedere come funziona l’ identificatore super .

L’ identificatore Super L’identificatore super ha un uso simile a this ma, a differenza di quest’ultimo, invece di far riferimento alla classe di lavoro si riferisce alla superclasse. Tramite super è possibile invocare la versione originale di un metodo sovrascritto, altrimenti inaccessibile:

metodo(); // chiamata a un metodo della classe
super.metodo(); // chiamata al metodo omonimo presente nella superclasse

Spesso i metodi sovrascritti sono estensioni dei metodi equivalenti della superclasse; in questi casi, si può utilizzare super in modo da richiamare la versione precedente del metodo, e quindi aggiungere di seguito le istruzioni nuove:

 public void metodo1() {
super.metodo1(); // chiamata a metodo1 della superclasse
// nuove istruzioni che estendono
 // il comportamento del metodo
 // omonimo della superclasse
}

L’uso principale di super è nei costruttori, che devono necessariamente estendere un costruttore della superclasse. Se non viene specificato diversamente, il costruttore di una classe viene considerato estensione del costruttore di default della superclasse. Se si desidera un comportamento differente, o se addirittura la superclasse non dispone di un costruttore di default, occorre invocare in modo esplicito il supercostruttore desiderato.

public class Motorino extends Bicicletta {
private String targa;
 private int cilindrata;
 public Motorino(Color colore, String targa, int cilindrata) {
 super(colore);
 this.targa = targa;
 this.cilindrata = cilindrata;
 }….
 }
 Anche in quest’ultimo caso, la chiamata al supercostruttore deve precedere qualsiasi altra istruzione.