Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos: Aplicando Polimorfismo con Herencia

//clase Serie// package com.aluracursos.screenmatch.modelos;

public class Serie extends Titulo {

int temporada;

int episodiosPorTemporada;

int minutosPorEpisodios;

@Override
public int getDuracionEnMinutos() {
    return temporada*episodiosPorTemporada*minutosPorEpisodios;
}

public int getTemporada() {
    return temporada;
}

public void setTemporada(int temporada) {
    this.temporada = temporada;
}

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;
}

} //Clase Principal// import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie; import com.aluracursos.screenmatch.calculos.CalculadoraDeTiempo;

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 dragón");
    casaDragon.setFechaDeLanzamiento(2022);
    casaDragon.setTemporada(1);;
    casaDragon.setMinutosPorEpisodios(50);
    casaDragon.setEpisodiosPorTemporada(10);
    casaDragon.muestraFichaTecnica();
    System.out.println(casaDragon.getDuracionEnMinutos());

    Pelicula otraPelicula = new Pelicula();
    otraPelicula.setNombre("Matrix");
    otraPelicula.setFechaDeLanzamiento(1998);
    otraPelicula.setDuracionEnMinutos(180);

    CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo();
    calculadora.incluye(miPelicula);
    calculadora.incluye(casaDragon);
    calculadora.incluye(otraPelicula);
    System.out.println("Tiempo necesario para ver tus titulos favoritos éstas vacaciones  "
            + calculadora.getTiempoTotal());




}

} //Clase CalculadoraDeTiempo// package com.aluracursos.screenmatch.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;
}

public void incluye(Titulo titulo) {

    this.tiempoTotal += titulo.getDuracionEnMinutos();
}

} //Clase Titulo// 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 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;
}

}

1 respuesta

¡Hola! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!