package com.aluracursos.screenmatch.modelos; public class Serie extends Titulo{ private int temporadas; private boolean activa; private int episodioPorTemporada; private int minutoPorEpisodio; public Serie(String nombre, int fechaDeLanzamiento){ super(nombre,fechaDeLanzamiento); } @Override public int getDuracionEnMinutos(){ return temporadasepisodioPorTemporadaminutoPorEpisodio; } public int getTemporada() { return temporadas; } public void setTemporada(int temporada) { this.temporadas = temporada; } public int getEpisodioPorTemporada() { return episodioPorTemporada; } public void setEpisodiosPorTemporada(int episodioPorTemporada) { this.episodioPorTemporada = episodioPorTemporada; } public int getMinutoPorEpisodio() { return minutoPorEpisodio; } public void setMinutosPorEpisodio(int minutoPorEpisodio) { this.minutoPorEpisodio = minutoPorEpisodio; } }
package com.aluracursos.screenmatch.modelos; import com.aluracursos.screenmatch.calculos.Clasificacion;
public class Pelicula extends Titulo implements Clasificacion { private String director;
public Pelicula(String nombre, int fechaDeLanzamiento){
super(nombre,fechaDeLanzamiento);
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@Override
public int getClasificacion() {
return (int) (calculaMedia()/2);
}
@Override
public String toString() {
return "Pelicula: "+this.getNombre()+"("+getFechaLanzamiento()+")";
}
}
import com.aluracursos.screenmatch.calculos.FiltroRecomendacion; import com.aluracursos.screenmatch.modelos.Episodio; import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie; import com.aluracursos.screenmatch.calculos.CalculadoraDeTiempo;
import java.util.ArrayList; import java.util.Objects;
public class Principal { public static void main(String[] args) { Pelicula miPelicula = new Pelicula("Encanto",2021); miPelicula.setDuracionEnMinutos(120); miPelicula.setIncluidoEnElPlan(true); miPelicula.muestraFichaTecnica(); miPelicula.evalua(10); miPelicula.evalua(10); miPelicula.evalua(7.8); System.out.println(miPelicula.getTotalDeLasEvaluaciones()); System.out.println(miPelicula.calculaMedia()); Serie casaDragon = new Serie("La casa del Dragón",2021); casaDragon.setTemporada(1); casaDragon.setMinutosPorEpisodio(50); casaDragon.setEpisodiosPorTemporada(10); casaDragon.muestraFichaTecnica(); System.out.println(casaDragon.getDuracionEnMinutos()); Pelicula otraPelicula = new Pelicula("Matrix",1998); otraPelicula.setDuracionEnMinutos(180); CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo(); calculadora.incluye(miPelicula); calculadora.incluye(casaDragon); calculadora.incluye(otraPelicula); System.out.println("Tiempo necesario para ver tus títulos favoritos estas vacaciones:"+calculadora.getTiempoTotal()+" minutos");
FiltroRecomendacion filtroRecomendacion = new FiltroRecomendacion();
filtroRecomendacion.filtro(miPelicula);
Episodio episodio = new Episodio();
episodio.setNumero(1);
episodio.setNombre("La casa de Targaryen");
episodio.setSerie(casaDragon);
episodio.setTotalVisualizaciones(50);
filtroRecomendacion.filtro(episodio);
var peliculaDeBruno = new Pelicula("Señor de los anillos",2001);
peliculaDeBruno.setDuracionEnMinutos(180);
ArrayList<Pelicula> listaDePeliculas = new ArrayList<>();
listaDePeliculas.add(peliculaDeBruno);
listaDePeliculas.add(miPelicula);
listaDePeliculas.add(otraPelicula);
System.out.println("Tamaño de la lista :"+listaDePeliculas.size());
System.out.println("La primera película es :"+listaDePeliculas.get(0).getNombre());
System.out.println(listaDePeliculas);
}
}