Senior
Parlez de la fonction super() et quand vous l'utilisez?
sobes.tech IA
Réponse de l'IA
La fonction super() est utilisée dans les classes pour appeler le constructeur de la classe parente ou les méthodes du parent.
Elle s'applique dans deux cas principaux :
-
Dans le constructeur d'une classe fille pour appeler le constructeur de la classe de base et une initialisation correcte des propriétés héritées.
-
Pour appeler les méthodes du parent, si vous souhaitez étendre ou redéfinir le comportement, tout en conservant une partie de la logique de la classe de base.
Exemple :
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} fait un bruit.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // appel au constructeur de Animal
this.breed = breed;
}
speak() {
super.speak(); // appel à la méthode speak de Animal
console.log(`${this.name} aboie.`);
}
}
Sans l'appel à super() dans le constructeur de la classe fille, il y aurait une erreur, car la classe de base n'est pas initialisée.