Tem alguma outra aula que reforce a explicação dessa parte da aula , ficou confuso e não consegui assimilar.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Tem alguma outra aula que reforce a explicação dessa parte da aula , ficou confuso e não consegui assimilar.
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.