Sobes.tech
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