- Interfaz Clasificable
package com.aluracursos.screenmatch.calculos;
public interface Clasificable {
int getClasificacion();
}
- Clase Pelicula
package com.aluracursos.screenmatch.modelos; // Asegúrate de que el paquete sea el correcto
import com.aluracursos.screenmatch.calculos.Clasificable;
public class Pelicula extends Titulo implements Clasificable {
@Override
public int getClasificacion() {
return (int) (calculaMedia() / 2);
}
}
3. Clase Episodio
package com.aluracursos.screenmatch.modelos; // Asegúrate de que el paquete sea el correcto
import com.aluracursos.screenmatch.calculos.Clasificable;
public class Episodio implements Clasificable {
private int totalVisualizaciones;
// ... otros atributos y métodos ...
@Override
public int getClasificacion() {
if (totalVisualizaciones > 100) {
return 4;
} else {
return 2;
}
}
// ... getter y setter para totalVisualizaciones ...
}
4. Clase FiltroRecomendacion
package com.aluracursos.screenmatch.calculos;
public class FiltroRecomendacion {
public void filtra(Clasificable clasificacion) {
if (clasificacion.getClasificacion() >= 4) {
System.out.println("Muy bien evaluado en el momento");
} else if (clasificacion.getClasificacion() >= 2) {
System.out.println("Popular en el momento");
} else {
System.out.println("Colocalo en tu lista para verlo después");
}
}
}
5. Clase Principal (modificada)
package com.aluracursos.screenmatch;
// ... otras importaciones ...
import com.aluracursos.screenmatch.calculos.FiltroRecomendacion;
public class Principal {
public static void main(String[] args) {
// ... código existente ...
Episodio episodio = new Episodio();
episodio.setNumero(1);
episodio.setNombre("La casa Targaryen");
episodio.setSerie(casaDragon);
episodio.setTotalVisualizaciones(50);
FiltroRecomendacion filtroRecomendacion = new FiltroRecomendacion();
filtroRecomendacion.filtra(miPelicula);
filtroRecomendacion.filtra(episodio);
}
}