Middle+
Какъв тип наследяване се използва в JavaScript? Има ли множествено наследяване при класовете?
sobes.tech AI
Отговор от AI
В JavaScript се използва прототипно наследяване, а с появата на класовете (ES6) — синтактичен захар върху прототипите. Класовете в JS поддържат единично наследяване, тоест клас може да наследява само от един родител.
Няма множествено наследяване на класове в JavaScript, но може да се използват миксини — функции, които добавят методи към клас, за да имитират множествено наследяване.
Пример за единично наследяване:
class Animal {
speak() {
console.log('Звук на животно');
}
}
class Dog extends Animal {
speak() {
console.log('Бау!');
}
}
const dog = new Dog();
dog.speak(); // Бау!
Пример за миксин:
const CanFly = Base => class extends Base {
fly() {
console.log('Летене');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Летене