Sobes.tech
Middle+

Milyen öröklődési típusokat használ a JavaScript? Van több öröklődés osztályoknál?

sobes.tech MI

Válasz az MI-től

A JavaScript-ben prototípus öröklést használnak, és az osztályok (ES6) megjelenésével — szintaktikus cukorként a prototípusok felett. A JS osztályai támogatják az egyszerű öröklést, azaz egy osztály csak egy szülőtől örökölhet.

A JavaScript osztályokban nincs többes öröklés, de használhatunk mixineket — olyan függvényeket, amelyek módszereket adnak hozzá az osztályhoz, hogy utánozzák a többes öröklést.

Egyszerű öröklés példája:

class Animal {
  speak() {
    console.log('Állati hang');
  }
}

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

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

Mixin példa:

const CanFly = Base => class extends Base {
  fly() {
    console.log('Repülés');
  }
};

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

const eagle = new Eagle();
eagle.fly(); // Repülés