seção
O que é Herança?
Herança é quando uma classe filha (subclasse) recebe propriedades e métodos de uma classe pai (superclasse). A relação é "É-UM": um Guerreiro é um Personagem.
class Personagem { constructor(nome, vida = 100) { this.nome = nome; this.vida = vida; } apresentar() { return `Eu sou ${this.nome} com ${this.vida} HP`; } atacar() { return `${this.nome} ataca!`; } receberDano(qtd) { this.vida -= qtd; return `${this.nome} recebe ${qtd} de dano! (${this.vida} HP)`; }} class Guerreiro extends Personagem { constructor(nome) { super(nome, 150); this.furia = 0; } gritoDeGuerra() { this.furia += 10; return `${this.nome} grita com fúria! Fúria: ${this.furia}`; }} const conan = new Guerreiro("Conan");console.log(conan.apresentar()); // herdadoconsole.log(conan.gritoDeGuerra()); // específicoconsole.log(conan.atacar()); // herdadoPrincípio DRY: escreva código comum uma vez no pai — filhas herdam correções e melhorias automaticamente.