Middle+
Quel type d'héritage est utilisé en JavaScript ? Existe-t-il une héritage multiple pour les classes ?
sobes.tech IA
Réponse de l'IA
En JavaScript, l'héritage prototype est utilisé, et avec l'apparition des classes (ES6), il s'agit d'un sucre syntaxique au-dessus des prototypes. Les classes en JS supportent l'héritage simple, c'est-à-dire qu'une classe ne peut hériter que d'un seul parent.
Il n'y a pas d'héritage multiple dans les classes JavaScript, mais on peut utiliser des mixins — des fonctions qui ajoutent des méthodes à une classe pour imiter l'héritage multiple.
Exemple d'héritage simple :
class Animal {
speak() {
console.log('Son animal');
}
}
class Dog extends Animal {
speak() {
console.log('Wouf!');
}
}
const dog = new Dog();
dog.speak(); // Wouf!
Exemple de mixin :
const CanFly = Base => class extends Base {
fly() {
console.log('Volant');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Volant