Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Impacto de herança

Gostei da aula, abordando melhor o assunto de construtor, porém se eles rodassem o código, veriam um erro de compilação, pois em aulas e cursos anteriores criamos uma classe chamada Episodio que é filha da classe Serie. Observando o projeto, eles tiraram o extends e deixaram apenas a implementação do Classificação, mas como estou reaproveitando o projeto do curso anterior, não fiz essa alteração e percebi este erro.

Como utilizamos o Constructor na classe Titulo, obrigando a replicar na classe Serie, também se torna obrigatório replicar na classe Episodio, também necessitando refatorar isso na Main. Seria uma chace de ter isso abordado na aula.

1 resposta
solução!

Oi Gabriel! Tudo bem?

Quando você adiciona um construtor na classe Titulo, as classes que herdam dela, como Serie e Episodio, precisam chamar esse construtor da classe mãe usando super(). Isso é necessário porque o construtor padrão (aquele que não recebe parâmetros) deixa de existir quando você define um construtor personalizado.

No seu caso, como Episodio é uma classe filha de Serie, você precisa garantir que Episodio também tenha um construtor que chame super() com os parâmetros necessários. Aqui está um exemplo de como você poderia fazer isso na classe Episodio:

public class Episodio extends Serie {
    public Episodio(String nome, int anoDeLancamento) {
        super(nome, anoDeLancamento);
        // Outros inicializadores específicos de Episodio, se houver
    }
}

E na sua classe Serie, você já deve ter algo assim:

public class Serie extends Titulo {
    public Serie(String nome, int anoDeLancamento) {
        super(nome, anoDeLancamento);
    }
}

Com essas mudanças, você deve conseguir compilar o projeto sem problemas. Lembre-se de também ajustar as instâncias na sua classe principal, passando os parâmetros necessários ao criar objetos de Episodio e Serie.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.