package com.entronomia.aplicaciones.modelos;
public class Titulo {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidaEnElPlan;
private double sumaDeLasEvaluaciones = 0;
private int numeroDeEvaluaciones = 0;
private double mediaDeLasEvaluaciones = 0;
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidaEnElPlan() {
return incluidaEnElPlan;
}
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 setIncluidaEnElPlan(boolean incluidaEnElPlan) {
this.incluidaEnElPlan = incluidaEnElPlan;
}
public double getMediaDeLasEvaluaciones() {
return mediaDeLasEvaluaciones;
}
public void imprimeDatos() {
System.out.println("Nombre de la película: " + getNombre());
System.out.println("Fecha de lanzamiento: " + getFechaDeLanzamiento());
System.out.println("Duración [min]: " + getDuracionEnMinutos());
}
public void evaluaPelicula(double nota) {
sumaDeLasEvaluaciones = sumaDeLasEvaluaciones + nota;
numeroDeEvaluaciones = numeroDeEvaluaciones +1;
}
public double calculaMediaDeLasEvaluaciones() {
mediaDeLasEvaluaciones = sumaDeLasEvaluaciones / numeroDeEvaluaciones;
return mediaDeLasEvaluaciones;
}
}
package com.entronomia.aplicaciones.modelos;
public class Pelicula extends Titulo {
private String director;
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
}
package com.entronomia.aplicaciones.modelos;
public class Serie extends Titulo {
private int temporadas;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
@Override
public int getDuracionEnMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}
public int getTemporadas() {
return temporadas;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public int getMinutosPorEpisodio() {
return minutosPorEpisodio;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public void setMinutosPorEpisodio(int minutosPorEpisodio) {
this.minutosPorEpisodio = minutosPorEpisodio;
}
}
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.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.calculaMediaDeLasEvaluaciones();
peliculaI.imprimeDatos();
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();
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");
}
}