package com.alura.screenmatch.modelos;
import com.alura.screenmatch.calculos.Clasificable;
public class Pelicula extends Titulo implements Clasificable {
private String director;
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@Override
public int getClasificacion() {
return (int) calculaMediaEvaluaciones() / 2;
}
@Override
public String toString() {
return "Pelicula: " +this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")";
}
}
import com.alura.screenmatch.calculos.CalculadoraDeTiempo;
import com.alura.screenmatch.calculos.FiltroRecomendacion;
import com.alura.screenmatch.modelos.Episodio;
import com.alura.screenmatch.modelos.Pelicula;
import com.alura.screenmatch.modelos.Serie;
import java.util.ArrayList;
public class Principal {
public static void main(String[] args) {
Pelicula miPelicula = new Pelicula();
miPelicula.setNombre("Encanto");
miPelicula.setFechaDeLanzamiento(2021);
miPelicula.setDuracionEnMinutos(180);
System.out.println("Duración de la película: " + miPelicula.getDuracionEnMinutos());
miPelicula.muestraFichaTecnica();
miPelicula.evalua(8);
miPelicula.evalua(5);
miPelicula.evalua(10);
System.out.println("Total de evaluaciones: " + miPelicula.getTotalDeEvaluaciones());
System.out.println(miPelicula.calculaMediaEvaluaciones());
Serie lost = new Serie();
lost.setNombre("Lost");
lost.setFechaDeLanzamiento(2000);
lost.muestraFichaTecnica();
lost.setTemporadas(10);
lost.setEpisodiosPorTemporada(10);
lost.setMinutosPorEpisodio(50);
System.out.println("Duracion de la série: " + lost.getDuracionEnMinutos());
Pelicula otraPelicula = new Pelicula();
otraPelicula.setNombre("Avatar");
otraPelicula.setFechaDeLanzamiento(2023);
otraPelicula.setDuracionEnMinutos(200);
CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo();
calculadora.incluido(miPelicula);
calculadora.incluido(otraPelicula);
calculadora.incluido(lost);
System.out.println(calculadora.getTiempoTotal());
FiltroRecomendacion filtro = new FiltroRecomendacion();
filtro.filtra(miPelicula);
Episodio episodio = new Episodio();
episodio.setNumero(1);
episodio.setSerie(lost);
episodio.setTotalVisualizaciones(300);
filtro.filtra(episodio);
ArrayList listaDePeliculas = new ArrayList<>();
listaDePeliculas.add(miPelicula);
listaDePeliculas.add(otraPelicula);
System.out.println("Tamaño de la pelicula: " + + listaDePeliculas.size());
System.out.println("Primera pélicula: " + listaDePeliculas.get(0));
System.out.println(listaDePeliculas);
}
}