package br.com.alura.screenmatch.calculos;
public interface Classificavel {
int getClassificacao();
}
public class Filme extends Titulo implements Classificavel {
public int getClassificacao() {
return (int) pegaMedia() / 2;
}
public class Episodio implements Classificavel {
private int totalVisualizacoes;
//outros atributos omitidos…
public int getClassificacao() {
if (totalVisualizacoes > 100) {
return 4;
} else {
return 2;
}
}
}
package br.com.alura.screenmatch.calculos;
public class FiltroRecomendacao {
public void filtrar(Classificavel classificavel) {
if (classificavel.getClassificacao() >= 4) {
System.out.println(“Está entre os preferidos no momento”);
} else if (classificavel.getClassificacao() >= 2) {
System.out.println(“Muito bem avaliado no momento”);
} else {
System.out.println(“Coloque na sua lista para assistir depois”);
}
}
Episodio primeiro = new Episodio();
primeiro.setNumero(1);
primeiro.setSerie(serie);
primeiro.settotalVisualizacoes(300);
FiltroRecomendacao filtro = new FiltroRecomendacao();
filtro.filtrar(favorito);
filtro.filtrar(outro);
filtro.filtrar(primeiro);