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