Middle+
Τι τύπος κληρονόμησης χρησιμοποιείται στη JavaScript; Υπάρχει πολλαπλή κληρονόμηση στις κλάσεις;
sobes.tech AI
Απάντηση από AI
Στο JavaScript χρησιμοποιείται η πρωτοτυπική κληρονομικότητα, και με την εμφάνιση των κλάσεων (ES6) — είναι μια συντακτική ζάχαρη πάνω από τις πρωτοτυπίες. Οι κλάσεις στο JS υποστηρίζουν απλή κληρονομικότητα, δηλαδή μια κλάση μπορεί να κληρονομήσει μόνο από έναν γονέα.
Δεν υπάρχει πολλαπλή κληρονομικότητα στις κλάσεις JavaScript, αλλά μπορείτε να χρησιμοποιήσετε mixins — λειτουργίες που προσθέτουν μεθόδους σε μια κλάση για να μιμηθούν την πολλαπλή κληρονομικότητα.
Παράδειγμα απλής κληρονομικότητας:
class Animal {
speak() {
console.log('Ήχος ζώου');
}
}
class Dog extends Animal {
speak() {
console.log('Γαβ!');
}
}
const dog = new Dog();
dog.speak(); // Γαβ!
Παράδειγμα με mixin:
const CanFly = Base => class extends Base {
fly() {
console.log('Πτήση');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Πτήση