Middle+
Que tipo de herança é usado em JavaScript? Existe herança múltipla em classes?
sobes.tech IA
Resposta da IA
No JavaScript, é utilizada herança prototípica, e com o aparecimento das classes (ES6) — açúcar sintático sobre os protótipos. As classes em JS suportam herança simples, ou seja, uma classe só pode herdar de um único pai.
Não há herança múltipla em classes JavaScript, mas podem-se usar mixins — funções que adicionam métodos a uma classe para imitar herança múltipla.
Exemplo de herança simples:
class Animal {
speak() {
console.log('Som de animal');
}
}
class Dog extends Animal {
speak() {
console.log('Au!');
}
}
const dog = new Dog();
dog.speak(); // Au!
Exemplo de mixin:
const CanFly = Base => class extends Base {
fly() {
console.log('Voando');
}
};
class Bird {}
class Eagle extends CanFly(Bird) {}
const eagle = new Eagle();
eagle.fly(); // Voando