Sobes.tech
Middle+

Millist päriluse tüüpi kasutatakse JavaScriptis? Kas klassides on mitmepärilust?

sobes.tech AI

Vastus AI-lt

JavaScript kasutab prototüüp pärandamist, ja koos klasside (ES6) ilmumisega — see on süntaktiline suhkur prototüüpide üle. JS klassid toetavad üksikpärandamist, see tähendab, et klass võib pärida ainult ühest vanemast.

JavaScripti klassides ei ole mitme pärandamise võimalust, kuid saab kasutada mixineid — funktsioone, mis lisavad meetodeid klassile, et imiteerida mitme pärandamist.

Näide ühe pärandamise kohta:

class Animal {
  speak() {
    console.log('Loomu hääl');
  }
}

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

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

Mixini näide:

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

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

const eagle = new Eagle();
eagle.fly(); // Lendamine