Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Mi version del proyecto

Mi version:

import com.aluracursos.screenmatch.calculos.CalculadoraDeTiempo; import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie;

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.setTemporadas(1);
    casaDragon.setMinutosPorEpisodio(50);
    casaDragon.setEpisodiosPorTemporada(10);
    casaDragon.muestraFichaTecnica();
    System.out.println("La serie dura: " + casaDragon.getDuracionEnMinutos() + " minutos");

    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 estas vacaciones " + calculadora.getTiempoTotal() + " minutos");


}

}

//////////////////////////////////////////////////////////////////////////////// Calculadora de tiempo.

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

}

1 respuesta
solución!

¡Hola Estudiante, espero que estés bien!

Parece que estás tratando de aplicar los conceptos de herencia y polimorfismo en tu proyecto. Para ello, puedes crear una clase base llamada Título, de la cual Película y Serie heredarán.

Luego, puedes utilizar el polimorfismo al incluir objetos de tipo Título en la CalculadoraDeTiempo, ya que Película y Serie son subclases de Título.

Aquí tienes un ejemplo de cómo podrías estructurar tus clases:

public class Titulo {
    private String nombre;
    private int fechaDeLanzamiento;
    private int duracionEnMinutos;

    // Constructor, getters y setters
}

public class Pelicula extends Titulo {
    private boolean incluidoEnElPlan;

    // Otros atributos, métodos específicos de Película
}

public class Serie extends Titulo {
    private int temporadas;
    private int minutosPorEpisodio;
    private int episodiosPorTemporada;

    // Otros atributos, métodos específicos de Serie
}

public class CalculadoraDeTiempo {
    private int tiempoTotal;

    public int getTiempoTotal() {
        return tiempoTotal;
    }

    public void incluye(Titulo titulo){
        this.tiempoTotal += titulo.getDuracionEnMinutos();
    }
}

Espero que este ejemplo te ayude a implementar el polimorfismo y la herencia en tu proyecto. ¡Buena suerte! Si tienes alguna otra pregunta, no dudes en preguntar.

Espero haber ayudado y ¡buenos estudios!