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

Não compreendi interfaces

Tem alguma outra aula que reforce a explicação dessa parte da aula , ficou confuso e não consegui assimilar.

1 resposta
solução!

Oi, tudo bem?

Interfaces em Java são como contratos que uma classe pode optar por seguir. Se uma classe implementa uma interface, ela está se comprometendo a fornecer um comportamento específico. No caso da aula que você está estudando, a interface Classificavel está sendo usada para garantir que tanto a classe Filme quanto a classe Episodio tenham um método getClassificacao().

Vamos pegar o exemplo da classe Filme:

public class Filme extends Titulo implements Classificavel {

// Código omitido

    @Override
    public int getClassificacao() {
        return (int) pegaMedia() / 2;
    }
}

Aqui, Filme está implementando a interface Classificavel, o que significa que ela deve ter um método getClassificacao(). A implementação desse método é específica para a classe Filme, e pode ser diferente para outras classes que implementam a mesma interface.

Agora, vamos olhar para a classe Episodio:

public class Episodio implements Classificavel {
    private int numero;
    private String nome;
    private Serie serie;
    private int totalVisualizacoes;

    public int getTotalVisualizacoes() {
        return totalVisualizacoes;
    }

    public void setTotalVisualizacoes(int totalVisualizacoes) {
        this.totalVisualizacoes = totalVisualizacoes;
    }

    @Override
    public int getClassificacao() {
        if (totalVisualizacoes > 100) {
            return 4;
        } else {
            return 2;
        }
    }
}

A classe Episodio também implementa a interface Classificavel, mas a implementação do método getClassificacao() é diferente da implementação na classe Filme. Isso é possível porque a interface apenas especifica que o método deve existir, mas não especifica como o método deve ser implementado. Isso é deixado para as classes que implementam a interface.

Espero que essa explicação tenha ajudado a esclarecer o conceito de interfaces para você. Lembre-se de que é normal não entender tudo de uma vez, e que a prática é a melhor maneira de solidificar esses conceitos.

Um abraço e bons estudos.