JavaScriptPOObasico

Herança básica

Em projetos reais, você frequentemente tem classes que compartilham comportamentos comuns, mas precisam de especializações. Por exemplo, em um sistema de petshop, 'Animal' pode ter nome e som, enquanto 'Cachorro' e 'Gato' herdam essas propriedades e adicionam métodos específicos. Herança com extends evita repetir código e mantém a hierarquia limpa.

O PROBLEMA

Crie classe Animal com nome e som. Crie Cachorro extends Animal com método latir(). Use super() no constructor.

EXEMPLO

const rex = new Cachorro("Rex");
rex.latir() → "Rex faz: Au au!"
rex instanceof Animal → true

SOBRE O CONCEITO

A palavra-chave extends cria uma classe filha que herda da classe pai. O constructor da filha deve chamar super() antes de usar this para inicializar a parte herdada. Um erro comum é esquecer o super(), o que gera um ReferenceError porque o this ainda não foi definido. Outro erro é passar argumentos errados para super(). No exemplo, Cachorro herda o parâmetro nome de Animal e o passa via super(nome). Sem isso, a propriedade nome não seria inicializada corretamente.

RESOLUÇÃO

Mais exercícios de POO

JSP021 · AvançadoClasse LinkedListJSP005 · BásicoContador de instânciasJSP008 · Básicoinstanceof e verificação de tipoJSP009 · BásicoClasse abstrata simulada
Ver todos os exercícios de JavaScript