Middle+
Quale tipo di ereditarietà viene utilizzato in JavaScript? Esiste l'ereditarietà multipla nelle classi?
sobes.tech AI
Risposta dell'AI
In JavaScript si utilizza l'ereditarietà prototipica, e con l'introduzione delle classi (ES6) — zucchero sintattico sopra i prototipi. Le classi in JS supportano l'ereditarietà singola, cioè una classe può ereditare solo da un genitore.
Non esiste ereditarietà multipla nelle classi JavaScript, ma si possono usare mixin — funzioni che aggiungono metodi a una classe per imitare l'ereditarietà multipla.
Esempio di ereditarietà singola:
class Animal {
speak() {
console.log('Suono animale');
}
}
class Dog extends Animal {
speak() {
console.log('Bau!');
}
}
const dog = new Dog();
dog.speak(); // Bau!
Esempio di mixin:
const CanFly = Base => class extends Base {
fly() {
console.log('Vola');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Vola