Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Haga lo que hicimos en aula: utilizando interfaces

package com.aluracursos.screenmacth.calculos;

public interface Clasificacion { int getClasificacion(); }

package com.aluracursos.screenmatch.modelos;

import com.aluracursos.screenmacth.calculos.Clasificacion;

//Pelicula pasa a tener todos los atributos y metodos de clase Titulo public class Pelicula extends Titulo implements Clasificacion { private String director;

public String getDirector() {
    return director;
}
public void setDirector(String director) {
    this.director = director;
}

@Override
public int getClasificacion() {
    return (int) (calculaMedia() / 2);
}

}

package com.aluracursos.screenmatch.modelos;

import com.aluracursos.screenmacth.calculos.Clasificacion;

public class Episodio implements Clasificacion { private int numero; private String nombre; private Serie serie; private int totalVisualizaciones;

public int getTotalVisualizaciones() {
    return totalVisualizaciones;
}

public void setTotalVisualizaciones(int totalVisualizaciones) {
    this.totalVisualizaciones = totalVisualizaciones;
}

public int getNumero() {
    return numero;
}
public void setNumero(int numero) {
    this.numero = numero;
}

public Serie getSerie() {
    return serie;
}
public void setSerie(Serie serie) {
    this.serie = serie;
}

public String getNombre() {
    return nombre;
}
public void setNombre(String nombre) {
    this.nombre = nombre;
}

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

}

package com.aluracursos.screenmacth.calculos;

public class FiltroRecomendacion { //Metodo public void filtra(Clasificacion clasificacion){ if (clasificacion.getClasificacion()>=4){ System.out.println("Muy bien Evaluado"); } else if (clasificacion.getClasificacion()>=2){ System.out.println("Popular en el momento"); } else{ System.out.println("Colocalo en tu lista para verlo despues"); } } }

    FiltroRecomendacion filtroRecomendacion=new FiltroRecomendacion();
    filtroRecomendacion.filtra(miPelicula);

    Episodio episodio = new Episodio();
    episodio.setNumero(1);
    episodio.setNombre("La casa Targaryen");
    episodio.setSerie(casaDragon);
    episodio.setTotalVisualizaciones(50);

    filtroRecomendacion.filtra(episodio);
}

}

El nombre de la película es: Encanto Su fecha de lanzamiento es: 2021 Duración en minutos: 120 3 9.266666666666667 El nombre de la película es: La casa del Dragon Su fecha de lanzamiento es: 2022 Duración en minutos: 500 500 Tiempo necesario para ver tus titulos favoritos estas vacacaiones 800 minutos Muy bien Evaluado Popular en el momento

1 respuesta

Hola Wilder, espero que estés bien

Parece que estás en el camino correcto al implementar la interfaz Clasificacion en tus clases Pelicula y Episodio. Sin embargo, según el contexto de la actividad, deberías estar usando una interfaz llamada Clasificable en lugar de Clasificacion. Asegúrate de que el nombre de la interfaz sea consistente en todo tu código.

Aquí tienes algunos pasos que podrías seguir para ajustar tu código:

  1. Renombra la interfaz: Cambia el nombre de la interfaz de Clasificacion a Clasificable en el archivo correspondiente.

  2. Implementa la interfaz correcta: Asegúrate de que tanto Pelicula como Episodio implementen la interfaz Clasificable en lugar de Clasificacion.

  3. Ajusta las importaciones: Revisa las importaciones en tus clases para asegurarte de que estás importando la interfaz correcta.

Y asegúrate de hacer lo mismo en la clase Episodio.

Espero que estos ajustes te ayuden a resolver el problema. ¡Espero haber ayudado y buenos estudios!