Titulo.java
package com.aluracursos.screenmatch.modelos;
public class Titulo {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDelasEvaluaciones;
public Titulo(String nombre, int fechaDeLanzamiento) {
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
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;
}
public int getTotalDelasEvaluaciones(){
return totalDelasEvaluaciones;
}
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());
}
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalDelasEvaluaciones++;
}
public double calculaMedia(){
return sumaDeLasEvaluaciones / totalDelasEvaluaciones;
}
}
Serie.java
package com.aluracursos.screenmatch.modelos;
public class Serie extends Titulo{
int temporadas;
int episodiosPorTemporada;
int minutosPorEpisodios;
public Serie(String nombre, int fechaDeLanzamiento) {
super(nombre, fechaDeLanzamiento);
}
public int getDuracionEnMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodios;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getMinutosPorEpisodios() {
return minutosPorEpisodios;
}
public void setMinutosPorEpisodios(int minutosPorEpisodios) {
this.minutosPorEpisodios = minutosPorEpisodios;
}
}
Pelicula.java
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);
}
@Override
public String toString() {
return "Pelicula: " + this.getNombre() + "(" + getFechaDeLanzamiento() + ")";
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@Override
public int getClasificacion() {
return (int) calculaMedia() / 2;
}
}