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

package com.entronomia.aplicaciones.calculos;

public interface Clasificacion {
    int getClasificacion();
}
package com.entronomia.aplicaciones.modelos;

import com.entronomia.aplicaciones.calculos.Clasificacion;

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) (calculaMediaDeLasEvaluaciones() / 2);
    }
}
package com.entronomia.aplicaciones.modelos;

import com.entronomia.aplicaciones.calculos.Clasificacion;

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

    public int getNumero() {
        return numero;
    }

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

    public String getNombre() {
        return nombre;
    }

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

    public Serie getSerie() {
        return serie;
    }

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

    public int getNumeroDeVisualizaciones() {
        return numeroDeVisualizaciones;
    }

    public void setNumeroDeVisualizaciones(int numeroDeVisualizaciones) {
        this.numeroDeVisualizaciones = numeroDeVisualizaciones;
    }

    @Override
    public int getClasificacion() {
        if (numeroDeVisualizaciones > 100) {
            return 4;
        } else {
            return 2;
        }
    }
}
package com.entronomia.aplicaciones.calculos;

public class Recomendacion {

    public void filtra(Clasificacion clasificacion) {
        if (clasificacion.getClasificacion() >= 4) {
            System.out.println("Es muy popular en este momento");
        } else if (clasificacion.getClasificacion() >=2 && clasificacion.getClasificacion() < 4) {
            System.out.println("Tiene una popularidad aceptable por el momento");
        } else {
            System.out.println("No es muy popular en este momento");
        }
    }
}
package com.entronomia.aplicaciones.calculos;
import com.entronomia.aplicaciones.modelos.Titulo;

public class CalculadoraDeTiempo {
    private int tiempoEnMinutos = 0;

    public int getTiempoEnMinutos() {
        return tiempoEnMinutos;
    }

    public void tiempoAdicionado(Titulo titulo) {
        tiempoEnMinutos = tiempoEnMinutos + titulo.getDuracionEnMinutos();
    }

}
import com.entronomia.aplicaciones.calculos.Recomendacion;
import com.entronomia.aplicaciones.modelos.Episodio;
import com.entronomia.aplicaciones.modelos.Pelicula;
import com.entronomia.aplicaciones.modelos.Serie;
import com.entronomia.aplicaciones.calculos.CalculadoraDeTiempo;

public class Inventario {
    public static void main(String[] args) {
        Pelicula peliculaI = new Pelicula();
        peliculaI.setNombre("2012");
        peliculaI.setFechaDeLanzamiento(2009);
        peliculaI.setDuracionEnMinutos(158);
        peliculaI.setIncluidaEnElPlan(true);

        peliculaI.evaluaPelicula(8.4);
        peliculaI.evaluaPelicula(9.0);
        peliculaI.evaluaPelicula(8.1);
        peliculaI.evaluaPelicula(7.9);
        peliculaI.calculaMediaDeLasEvaluaciones();
        peliculaI.imprimeDatos();
        System.out.println("la medía de las evaluaciones de la película " + peliculaI.getNombre() + " es " + peliculaI.getMediaDeLasEvaluaciones());

        Serie serieI = new Serie();
        serieI.setNombre("La reina de Indias y el conquistador");
        serieI.setFechaDeLanzamiento(2020);
        serieI.setTemporadas(1);
        serieI.setEpisodiosPorTemporada(60);
        serieI.setMinutosPorEpisodio(50);
        serieI.imprimeDatos();
        System.out.println("La serie " + serieI.getNombre() + " tiene una duración de " + serieI.getDuracionEnMinutos() + " minutos");

        CalculadoraDeTiempo calculadoraDeTiempo = new CalculadoraDeTiempo();
        calculadoraDeTiempo.tiempoAdicionado(peliculaI);
        calculadoraDeTiempo.tiempoAdicionado(serieI);
        System.out.println("El tiempo para ver todas estas peliculas y series es " + calculadoraDeTiempo.getTiempoEnMinutos() + " minutos");

        Recomendacion recomendacionI = new Recomendacion();
        recomendacionI.filtra(peliculaI);

        Episodio episodioI = new Episodio();
        episodioI.setNumero(1);
        episodioI.setNombre("Episodio Uno");
        episodioI.setSerie(serieI);
        episodioI.setNumeroDeVisualizaciones(90);
        recomendacionI.filtra(episodioI);
    }
}
1 respuesta

Hola Roberto, espero que estés bien

Considero su código muy bueno, en este momento no veo puntos de mejora. ¡Continúa con sus estudios y éxito en su carrera!

Gracias por compartir tu ejercício práctico con nosotros! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Abrazos y buenos estudios!

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