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

Haga lo que hicimos en aula: declarando constructores

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;

    }
}
1 respuesta
solución!

Hola Sebastian,

Parece que estás en el camino correcto al implementar los constructores en tus clases Titulo, Serie y Pelicula. Has seguido bien las instrucciones de la clase al declarar los constructores que reciben el nombre y la fecha de lanzamiento, y al utilizar la palabra reservada super para llamar al constructor de la clase madre.

Aquí hay algunos puntos que podrías verificar o considerar:

  1. Errores de Compilación en la Clase Principal: Asegúrate de que al instanciar objetos de Pelicula y Serie, estás proporcionando los argumentos correctos en el constructor, es decir, el nombre y la fecha de lanzamiento. Por ejemplo:

    Pelicula favorita = new Pelicula("The Matrix", 1999);
    Serie serieFavorita = new Serie("Breaking Bad", 2008);
    
  2. Verifica los Imports: Asegúrate de que todas las clases necesarias están correctamente importadas en tus archivos. Por ejemplo, si Clasificacion está en un paquete diferente, asegúrate de que está importado en Pelicula.

  3. Revisión de Sintaxis: Revisa si hay errores tipográficos en los nombres de los paquetes o clases. Por ejemplo, en el contexto proporcionado, hay un pequeño error de escritura en "pacakge" que debería ser "package".

  4. Implementación de Métodos: Asegúrate de que todos los métodos requeridos por las interfaces implementadas están correctamente definidos. En tu clase Pelicula, el método getClasificacion() está implementado, lo cual es correcto si Clasificacion es una interfaz que lo requiere.

Si después de estas revisiones aún encuentras problemas, verifica los mensajes de error específicos que el compilador te está dando, ya que pueden darte pistas más claras sobre lo que podría estar mal.

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!