Senior
Parla della funzione super() e quando la usi?
sobes.tech AI
Risposta dell'AI
La funzione super() viene utilizzata nelle classi per chiamare il costruttore della classe genitore o i metodi del genitore.
Viene applicata in due casi principali:
-
Nel costruttore di una classe figlia per chiamare il costruttore della classe base e un'adeguata inizializzazione delle proprietà ereditate.
-
Per chiamare i metodi del genitore, se si desidera espandere o sovrascrivere il comportamento, mantenendo però parte della logica della classe base.
Esempio:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} emette un suono.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // chiamata al costruttore di Animal
this.breed = breed;
}
speak() {
super.speak(); // chiamata al metodo speak di Animal
console.log(`${this.name} abbaia.`);
}
}
Senza chiamare super() nel costruttore della classe figlia, si otterrà un errore, poiché la classe base non è inizializzata.