Junior — Middle
Qual è la funzione dell'operatore super nel contesto dell'ereditarietà e della chiamata ai metodi o ai costruttori della classe base?
sobes.tech AI
Risposta dell'AI
L'operatore super in Java viene utilizzato per accedere ai metodi o ai costruttori della classe base (padre) da una sottoclasse.
Principali utilizzi di super:
- Chiamare il costruttore della classe base dal costruttore della sottoclasse per inizializzare la parte dell'oggetto definita nel genitore.
- Chiamare un metodo sovrascritto della classe base se nella sottoclasse si desidera integrare o modificare il comportamento, mantenendo parte della logica del genitore.
Esempio di utilizzo del costruttore:
class Animal {
String name;
Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
Dog(String name) {
super(name); // chiamata al costruttore di Animal
}
}
Esempio di chiamata a un metodo della classe base:
class Animal {
void sound() {
System.out.println("Suono generico");
}
}
class Dog extends Animal {
@Override
void sound() {
super.sound(); // chiamata al metodo della classe base
System.out.println("Abbaio");
}
}
In questo modo, super aiuta a gestire l'ereditarietà e il riutilizzo del codice della classe base.