1
resposta

[Dúvida] Serie não recebeu implements Classificavel e episodio de uma forma lógica pertence a serie, porém, episodio não extends de serie.

O atributo private Serie serie ? Seria uma segunda forma de ligar as duas classes?

public class Episodio implements Classificavel {
    private int numero;
    private String nome;
    **private Serie serie;** // Seria uma segunda forma de herdar da classe Serie
    private int totalVisualizacoes;
1 resposta

Olá Smalley! Tudo bem?

Em orientação a objetos, herança e composição são duas formas de relacionar classes. Herança é quando uma classe "filha" herda atributos e métodos de uma classe "pai", enquanto composição é quando uma classe possui uma instância de outra classe como um de seus atributos.

No seu caso, a classe Episodio tem um atributo Serie, o que significa que está usando composição. Isso é uma forma de dizer que cada episódio pertence a uma série específica, sem que Episodio precise herdar de Serie. É uma maneira lógica de associar um episódio a uma série específica, permitindo que você acesse informações da série a partir do episódio, se necessário.

Por exemplo, você poderia ter algo como:

public class Serie {
    private String nome;
    private int totalEpisodios;
    // outros atributos e métodos
}

public class Episodio implements Classificavel {
    private int numero;
    private String nome;
    private Serie serie; // Composição: cada episódio pertence a uma série
    private int totalVisualizacoes;

    public Episodio(Serie serie) {
        this.serie = serie;
    }

    // outros métodos
}

Dessa forma, você pode criar um episódio e associá-lo a uma série específica:

Serie minhaSerie = new Serie();
Episodio meuEpisodio = new Episodio(minhaSerie);

Isso não só mantém a lógica de que um episódio pertence a uma série, mas também permite que você acesse informações da série a partir do episódio, sem precisar de herança.

Espero ter ajudado e bons estudos!

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