Middle+
¿Qué tipo de herencia se utiliza en JavaScript? ¿Existe herencia múltiple en las clases?
sobes.tech AI
Respuesta de la IA
En JavaScript se utiliza la herencia prototípica, y con la aparición de las clases (ES6) — azúcar sintáctico sobre los prototipos. Las clases en JS soportan herencia simple, es decir, una clase solo puede heredar de un padre.
No existe herencia múltiple en las clases de JavaScript, pero se pueden usar mixins — funciones que añaden métodos a una clase para imitar la herencia múltiple.
Ejemplo de herencia simple:
class Animal {
speak() {
console.log('Sonido de animal');
}
}
class Dog extends Animal {
speak() {
console.log('¡Guau!');
}
}
const dog = new Dog();
dog.speak(); // ¡Guau!
Ejemplo de mixin:
const CanFly = Base => class extends Base {
fly() {
console.log('Volando');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Volando