Clase Main
import com.aluracursos.calculos.CalculadoraTime;
import com.aluracursos.screematch.modelos.Serie;
import com.aluracursos.screematch.modelos.Pelicula;
public class Main {
public static void main(String[] args) {
Pelicula miPelicula = new Pelicula();
miPelicula.setNombre("Encanto");
miPelicula.setFechaDeLazamiento(2021);
miPelicula.setDuracionEnMinutos(120);
miPelicula.muestraFichaTecnica();
miPelicula.evalue(10);
miPelicula.evalue(10);
miPelicula.evalue(7.8);
System.out.println(miPelicula.getTotalDeLasEvaluaciones());
System.out.println(miPelicula.calcularMedia());
Serie casaDragon= new Serie();
casaDragon.setNombre("La casa del Dragon");
casaDragon.setFechaDeLazamiento(2022);
casaDragon.setTemporadas(1);
casaDragon.setMenutosPorEpisodio(50);
casaDragon.setEpisodiosPorTemporada(10);
casaDragon.muestraFichaTecnica();
System.out.println(casaDragon.getDuracionEnMinutos());
Pelicula otraPelicula = new Pelicula();
otraPelicula.setNombre("Matrix");
otraPelicula.setFechaDeLazamiento(1998);
otraPelicula.setDuracionEnMinutos(180);
CalculadoraTime calculadora = new CalculadoraTime();
calculadora.incluye(miPelicula);
calculadora.incluye(casaDragon);
calculadora.incluye(otraPelicula);
System.out.println("Tiempo de que te tomara : "+calculadora.getTiempoTotal());
}
}
Clase Madre
public class Titulo {
private String nombre;
private int fechaDeLazamiento;
private int duracionEnMinutos;
private boolean incluidaEnPlan;
private double sumaDeLasEvaluaciones;
private int totalDeLasEvaluaciones;
public String getNombre() {
return nombre;
}
public int getFechaDeLazamiento() {
return fechaDeLazamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidaEnPlan() {
return incluidaEnPlan;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaDeLazamiento(int fechaDeLazamiento) {
this.fechaDeLazamiento = fechaDeLazamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void setIncluidaEnPlan(boolean incluidaEnPlan) {
this.incluidaEnPlan = incluidaEnPlan;
}
public int getTotalDeLasEvaluaciones(){
return totalDeLasEvaluaciones;
}
public void muestraFichaTecnica(){
System.out.println("Mi pelcula es: " + nombre);
System.out.println("Su fehca de lanzamiento es: " +fechaDeLazamiento);
System.out.println("Duracion en minutos: " +getDuracionEnMinutos());
}
public void evalue(double nota){
sumaDeLasEvaluaciones += nota;
totalDeLasEvaluaciones++;
}
public double calcularMedia(){
return sumaDeLasEvaluaciones /totalDeLasEvaluaciones;
}
}
Clase Pelicula
package com.aluracursos.screematch.modelos;
public class Pelicula extends Titulo {
private String director;
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
}
Clase Serie
package com.aluracursos.screematch.modelos;
public class Serie extends Titulo{
int temporadas;
int episodiosPorTemporada;
int menutosPorEpisodio;
@Override
public int getDuracionEnMinutos() {
return temporadas * episodiosPorTemporada * menutosPorEpisodio;
}
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getMenutosPorEpisodio() {
return menutosPorEpisodio;
}
public void setMenutosPorEpisodio(int menutosPorEpisodio) {
this.menutosPorEpisodio = menutosPorEpisodio;
}
}
Clase Calcular Tiempo
package com.aluracursos.calculos;
import com.aluracursos.screematch.modelos.Pelicula;
import com.aluracursos.screematch.modelos.Serie;
import com.aluracursos.screematch.modelos.Titulo;
public class CalculadoraTime {
private int tiempoTotal;
public int getTiempoTotal() {
return tiempoTotal;
}
public void incluye(Titulo titulo){
this.tiempoTotal += titulo.getDuracionEnMinutos();
}
}