//Importando los recursos de Pelicula. import com.aluracursos.screenmacth.calculos.CalculadoraDeTiempo; import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie;
public class Principal { public static void main(String[] args) { Pelicula miPelicula = new Pelicula(); miPelicula.setNombre("Encanto"); miPelicula.setFechaDeLanzamiento(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();
casaDragon.setNombre("La casa del Dragon");
casaDragon.setFechaDeLanzamiento(2022);
casaDragon.setTemporadas(1);
casaDragon.setMinutosPorEpisodio(50);
casaDragon.setEpisodiosPorTemporada(10);
casaDragon.muestraFichaTecnica();
System.out.println(casaDragon.getDuracionEnMinutos());
Pelicula otraPelicula = new Pelicula();
otraPelicula.setNombre("Matrix");
otraPelicula.setFechaDeLanzamiento(1998);
otraPelicula.setDuracionEnMinutos(180);
//Creando nueva instancia
CalculadoraDeTiempo calculador = new CalculadoraDeTiempo();
calculador.incluye(miPelicula);
calculador.incluye(casaDragon);
calculador.incluye(otraPelicula);
System.out.println("Tiempo necesario para ver tus titulos favoritos estas vacacaiones "
+ calculador.getTiempoTotal() + " minutos");
}
}
package com.aluracursos.screenmacth.calculos; import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie; import com.aluracursos.screenmatch.modelos.Titulo;
public class CalculadoraDeTiempo { private int tiempoTotal;
public int getTiempoTotal() {
return tiempoTotal;
}
//No haremos el setter porque, no queremos que alguien venga y ponga tiempoTotal=2
//Metodo. Incluyendo dentro de la lista
//Polimorfismo. This=habalmos de la clase del tiempoTotal
public void incluye(Titulo titulo){
this.tiempoTotal += titulo.getDuracionEnMinutos();
}
}
package com.aluracursos.screenmatch.modelos;
public class Titulo { //Atributos de la Clase Titulo private String nombre; private int fechaDeLanzamiento; private int duracionEnMinutos; private boolean incluidoEnElPlan; //No permitir al usuario ciertas acciones. private double sumaDeLasEvaluaciones; private int totalDelasEvaluaciones;
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
//Metodo. Obtener
public int getTotalDelasEvaluaciones(){
return totalDelasEvaluaciones;
}
//Metodo: Generando Setter=Para colocar Datos.
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
//Metodo
public void muestraFichaTecnica(){
System.out.println("El nombre de la película es: " + nombre);
System.out.println("Su fecha de lanzamiento es: " + fechaDeLanzamiento);
System.out.println("Duración en minutos: "+ getDuracionEnMinutos());
}
//Metodo que espera un parametro
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalDelasEvaluaciones++;
}
//Metodo que espera retorno
public double calculaMedia(){
return sumaDeLasEvaluaciones / totalDelasEvaluaciones;
}
}