INTERFACE
package com.oasb.Screem_Macht.CaculosAplicacion;
public interface CLASIFICACION {
int getCLASIFICACION(); // SE IMPLEMENTA SOLO UN UNICO METODO(FUNCION) CON LA FUNCION GET,
// PARA OBTENER VALORES, ESTE CASO UNA CLASIFICACION
package com.oasb.Screen_Macht.modelosAplicacion;
import com.oasb.Screem_Macht.CaculosAplicacion.CLASIFICACION;
public class PELICULA extends TITULO implements CLASIFICACION { // HERENCIA USANDO LA PALABRA RESERVADA extends
// SE ADICIONA LA INTERFASE CLASIFICACION
// LA INTERFAZ SE IMPLEMENTA PARA PODER USAR CIERTO TIPO DE
// RECURSOS A LAS DISTINTAS CLASES DENTRO DE LA AOLICACION
@Override // SE IMPLEMENTA O MANDA A LLMAR EL METODO QUE PROVIENE DE LA INTERFASE PARA SER UTILIZADA EN ESTA CLASE
public int getCLASIFICACION( ){
return (int) (calularLaMedia( )/2); //como ya existe un metodo(funcion) que calcula la media, se manda a llamar pero recordando
// que el valor de esta media es de tipo flotante por lo tanto se tiene que
// convertir de un tipo de dato flotante(decimal) a valor entero
//para poder asi clasificar con entrellas, ya que estas se requieren en valores enteros
}
CLASE PELICULA
//SECCION DE ATRUBUTOS (variables)
private String director;
// SECCION DE getters y setters
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
}
CLASE EPISODIO
package com.oasb.Screen_Macht.modelosAplicacion;
import com.oasb.Screem_Macht.CaculosAplicacion.CLASIFICACION;
public class EPISODIO implements CLASIFICACION{ // HERENCIA USANDO LA PALABRA RESERVADA extends
// SE IMPLEMENTA LA INTERFASE CLASIFICACION
// LA INTERFAZ SE IMPLEMENTA PARA PODER USAR CIERTO TIPO DE
// RECURSOS A LAS DISTINTAS CLASES DENTRO DE LA AOLICACION
@Override // SE IMPLEMENTA O MANDA A LLAMAR EL METODO QUE PROVIENE DE LA INTERFASE PARA SER UTILIZADA EN ESTA CLASE
public int getCLASIFICACION() { //como ya existe un metodo(funcion) que calcula la media, se manda a llamar pero recordando
// que el valor de esta media es de tipo flotante por lo tanto se tiene que
// convertir de un tipo de dato flotante(decimal) a valor entero
//para poder asi clasificar con entrellas, ya que estas se requieren en valores enteros
if(visualizaciones > 100) { //este el el filtro, si se revasa las 100 visualizaciones
return 4; // 4 estrellas y representa una evaliaciion excelete o buena
} else {
return 2; // si es 2 o menos estrellas, la recomendacion es guardarla para ver el contenido mas tarde
}
}
// variables
private int numeroEpisodio;
private String nombreEpisodio;
private SERIE serie; //SE LLAMA A LA CLASE SERIE con un nombre serie para correlacionar
private int visualizaciones; // SE AGREGO
// get and set
public int getNumeroEpisodio() {
return numeroEpisodio;
}
public void setNumeroEpisodio(int numeroEpisodio) {
this.numeroEpisodio = numeroEpisodio;
}
public String getNombreEpisodio() {
return nombreEpisodio;
}
public void setNombreEpisodio(String nombreEpisodio) {
this.nombreEpisodio = nombreEpisodio;
}
public SERIE getSerie() {
return serie;
}
public void setSerie(SERIE serie) {
this.serie = serie;
}
public int getVisualizaciones() {
return visualizaciones;
}
public void setVisualizaciones(int visualizaciones) {
this.visualizaciones = visualizaciones;
}
}
CLASE FILTRO
package com.oasb.Screem_Macht.CaculosAplicacion;
//clase creada para poder filtrar el contenido de forma general, va de la mano con la clase CLASIFICACION
public class FILTRO_RECOMENDACION {
public void filtra ( CLASIFICACION clasificacion ){
if (clasificacion.getCLASIFICACION() >= 4){
System.out.printf("EXCELENTE PELICULA");
} else if (clasificacion.getCLASIFICACION() <= 2 ) {
System.out.printf("PELUCULAS PALOMERA");
} else {
System.out.printf("PARA VER MAS TARDE");
}
}
}
SE REALIZA PRUEBAS EN CLASE PRINCIPAL