Sobes.tech
Middle+

Ce tip de moștenire este utilizat în JavaScript? Există moștenire multiplă la clase?

sobes.tech AI

Răspuns de la AI

În JavaScript, se utilizează moștenirea prototipică, iar odată cu apariția claselor (ES6) — este un zahăr sintactic peste prototipuri. Clasele în JS suportă moștenirea simplă, adică o clasă poate moșteni doar de la un singur părinte.

Nu există moștenire multiplă în clasele JavaScript, dar se pot folosi mixins — funcții care adaugă metode la o clasă pentru a imita moștenirea multiplă.

Exemplu de moștenire simplă:

class Animal {
  speak() {
    console.log('Sunet de animal');
  }
}

class Dog extends Animal {
  speak() {
    console.log('Ham!');
  }
}

const dog = new Dog();
dog.speak(); // Ham!

Exemplu de mixin:

const CanFly = Base => class extends Base {
  fly() {
    console.log('Zburând');
  }
};

class Bird {}
class Eagle extends CanFly(Bird) {}

const eagle = new Eagle();
eagle.fly(); // Zburând