Middle+
Koji tip nasleđivanja se koristi u JavaScript-u? Da li postoji višestruko nasleđivanje kod klasa?
sobes.tech АИ
Одговор од АИ
U JavaScript-u se koristi prototipsko nasleđivanje, a sa pojavom klasa (ES6) — sintaktički šećer preko prototipa. Klase u JS podržavaju jednostruko nasleđivanje, tj. klasa može nasleđivati samo od jednog roditelja.
U JavaScript-u ne postoji višestruko nasleđivanje klasa, ali se mogu koristiti mixin-i — funkcije koje dodaju metode u klasu da bi imitirale višestruko nasleđivanje.
Primer jednostrukog nasleđivanja:
class Animal {
speak() {
console.log('Zvuk životinje');
}
}
class Dog extends Animal {
speak() {
console.log('Hau!');
}
}
const dog = new Dog();
dog.speak(); // Hau!
Primer mixina:
const CanFly = Base => class extends Base {
fly() {
console.log('Let');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Let