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

[Sugestão] Faça como eu fiz: declarando construtores

** Construtor na Classe Title (MÃE)**

//código omitido
public Title( String nome, int anoDeLancamento) {
        this.nome = nome;
        this.anoDeLancamento = anoDeLancamento;

    }

Como ficou o construtor nas Classes Movie; Serie e Episode; (herdeiras de Title)

MOVIE

public Movie(String nome, int anoDeLancamento) {
        super(nome, anoDeLancamento);
    }

SERIE

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

EPISODE

public Episode(String nome, int anoDeLancamento) {
        super(nome, anoDeLancamento);
    }
1 resposta
solução!

Olá, Gabriel! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de construtores para inicializar atributos de forma prática, utilizou muito bem o recurso super para reaproveitar a lógica da classe mãe e ainda compreendeu a importância da herança para manter o código organizado e reutilizável.

Uma dica interessante para o futuro é adicionar atributos específicos em cada classe filha, tornando-as mais especializadas. Assim:

public class Movie extends Title {
    private String diretor;

    public Movie(String nome, int anoDeLancamento, String diretor) {
        super(nome, anoDeLancamento);
        this.diretor = diretor;
    }

    @Override
    public String toString() {
        return super.toString() + " | Diretor: " + diretor;
    }
}

Isso faz com que cada classe herdeira tenha características próprias além das herdadas, enriquecendo a modelagem e tornando o sistema mais flexível.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!