public class Titulo {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnElPlan;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public void muestraFichaTecnica() {
System.out.println("Nombre: " + nombre);
System.out.println("Fecha de lanzamiento: " + fechaDeLanzamiento);
System.out.println("Duración en minutos: " + getDuracionEnMinutos());
}
}
public class Serie extends Titulo {
private int temporadas;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
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 getMinutosPorEpisodio() {
return minutosPorEpisodio;
}
public void setMinutosPorEpisodio(int minutosPorEpisodio) {
this.minutosPorEpisodio = minutosPorEpisodio;
}
@Override
public int getDuracionEnMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}
}
public class CalculadoraDeTiempo {
private int tiempoTotal;
public void incluye(Titulo titulo) {
tiempoTotal += titulo.getDuracionEnMinutos();
}
public int getTiempoTotal() {
return tiempoTotal;
}
}
public class Principal {
public static void main(String[] args) {
Titulo pelicula = new Titulo();
pelicula.setNombre("Titanic");
pelicula.setFechaDeLanzamiento(1997);
pelicula.setDuracionEnMinutos(195);
Serie serie = new Serie();
serie.setNombre("La Casa del Dragón");
serie.setFechaDeLanzamiento(2022);
serie.setTemporadas(2);
serie.setEpisodiosPorTemporada(10);
serie.setMinutosPorEpisodio(50);
pelicula.muestraFichaTecnica();
System.out.println();
serie.muestraFichaTecnica();
System.out.println();
CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo();
calculadora.incluye(pelicula);
calculadora.incluye(serie);
System.out.println("Tiempo total para ver los títulos: " + calculadora.getTiempoTotal() + " minutos");
}
}