Senior
¿Puedes explicar la función super() y cuándo la utilizas?
sobes.tech AI
Respuesta de la IA
La función super() se utiliza en clases para llamar al constructor de la clase padre o a los métodos del padre.
Se aplica en dos casos principales:
-
En el constructor de una clase hija para llamar al constructor de la clase base y una correcta inicialización de las propiedades heredadas.
-
Para llamar a los métodos del padre, si se necesita ampliar o sobrescribir el comportamiento, pero manteniendo parte de la lógica de la clase base.
Ejemplo:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} hace un sonido.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // llamada al constructor de Animal
this.breed = breed;
}
speak() {
super.speak(); // llamada al método speak de Animal
console.log(`${this.name} ladra.`);
}
}
Sin llamar a super() en el constructor de la clase hija, habrá un error, ya que la clase base no está inicializada.