Herança em cadeia
Em sistemas reais, como aplicativos de transporte ou catálogos de produtos, você frequentemente precisa modelar objetos com níveis crescentes de especialização. Uma hierarquia de classes evita repetir código e torna o sistema mais fácil de manter ao organizar propriedades e métodos por nível de generalidade.
O PROBLEMA
Crie hierarquia: Veiculo → VeiculoMotorizado → Carro → CarroEletrico. Cada nível adiciona propriedades.
EXEMPLO
const tesla = new CarroEletrico("Tesla", 2023, "Elétrico", 400);
tesla.descrever() → "Tesla 2023 | Motor: Elétrico | Autonomia: 400km"SOBRE O CONCEITO
Herança em cadeia significa que uma classe filha herda de outra classe filha, formando uma sequência. Cada nível adiciona ou especializa propriedades. O erro comum é chamar super() com argumentos errados: por exemplo, em CarroEletrico, se você passar parâmetros na ordem errada ou pular um parâmetro, o construtor pai (Carro) receberá valores incorretos, resultando em propriedades undefined ou trocadas. Para evitar isso, estude a assinatura do construtor da classe imediatamente superior e passe todos os argumentos necessários na ordem correta.
RESOLUÇÃO