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

Haga lo que hicimos en aula: utilizando interfaces

  1. Interfaz Clasificable
package com.aluracursos.screenmatch.calculos;

public interface Clasificable {
    int getClasificacion();
}
  1. 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);
    }
}
1 respuesta

¡Hola! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!