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

constructores

Titulo.java

package com.somosego.screemmach.modelos;

public class Titulo {

private String nombre;
private int fechaDeLanzamiento;
private int duracion;
private boolean incluidoEnElPlan;
private double sumaDeEvaluaciones,totalDeEvaluaciones;

public Titulo(String nombre, int fechaDeLanzamiento, boolean incluidoEnElPlan) {
    this.nombre = nombre;
    this.fechaDeLanzamiento = fechaDeLanzamiento;
    this.incluidoEnElPlan = incluidoEnElPlan;
}

public double getTotalDeEvaluaciones() {
    return totalDeEvaluaciones;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public String getNombre() {
    return nombre;
}

public int getFechaDeLanzamiento() {
    return fechaDeLanzamiento;
}

public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
    this.fechaDeLanzamiento = fechaDeLanzamiento;
}

public int getDuracion() {
    return duracion;
}

public void setDuracion(int duracion) {
    this.duracion = duracion;
}

public boolean isIncluidoEnElPlan() {
    return incluidoEnElPlan;
}

public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
    this.incluidoEnElPlan = incluidoEnElPlan;
}

public double getSumaDeEvaluaciones() {
    return sumaDeEvaluaciones;
}

public void setSumaDeEvaluaciones(double sumaDeEvaluaciones) {
    this.sumaDeEvaluaciones = sumaDeEvaluaciones;
}

public void setTotalDeEvaluaciones(double totalDeEvaluaciones) {
    this.totalDeEvaluaciones = totalDeEvaluaciones;
}

public void muestraFichaTecnica(){

    System.out.println("Nombre " + getNombre());
    System.out.println("Lanzada el " + getFechaDeLanzamiento());
    System.out.println("Duracion en minutos " + getDuracion());
}

public void evalua(double nota) {
    sumaDeEvaluaciones += nota;
    totalDeEvaluaciones++;
}

public double calcularMedia(){
    return sumaDeEvaluaciones / totalDeEvaluaciones;
}

}
Copia el código
Pelicula.java

package com.somosego.screemmach.modelos;

import com.somosego.screemmach.calculos.Clasificacion;

public class Pelicula extends Titulo implements Clasificacion {
private String director;

public Pelicula(String nombre, int fecheLanzamiento, boolean incluidoPlan) {
    super(nombre,fecheLanzamiento, incluidoPlan);
}



public String getDirector() {
    return director;
}

public void setDirector(String director) {
    this.director = director;
}

@Override
public int getClasificacion() {
    return (int) (calcularMedia() / 2);
}

@Override
public String toString() {
    return "Pelicula: " + this.getNombre()+" (" + getFechaDeLanzamiento() + " )";
}

}
Copia el código
Serie.java

package com.somosego.screemmach.modelos;

public class Serie extends Titulo {
private int temporadas, minutosEpisodios, episodiosTemporadas;

public Serie(String nombre, int fechaDeLanzamiento, boolean incluidoEnElPlan) {
    super(nombre, fechaDeLanzamiento, incluidoEnElPlan);
}

public int getDuracion (){
    return temporadas * episodiosTemporadas * minutosEpisodios;
}

public int getTemporadas() {
    return temporadas;
}

public void setTemporadas(int temporadas) {
    this.temporadas = temporadas;
}

public int getMinutosEpisodios() {
    return minutosEpisodios;
}

public void setMinutosEpisodios(int minutosEpisodios) {
    this.minutosEpisodios = minutosEpisodios;
}

public int getEpisodiosTemporadas() {
    return episodiosTemporadas;
}

public void setEpisodiosTemporadas(int episodiosTemporadas) {
    this.episodiosTemporadas = episodiosTemporadas;
}

}

1 respuesta

Hola Alexa, espero que estés bien

Parece que estás en el camino correcto con la implementación de los constructores en tus clases. Sin embargo, hay un pequeño detalle que podrías ajustar para que todo funcione sin problemas.

En tu clase Pelicula, el constructor actual tiene tres parámetros: nombre, fecheLanzamiento (que parece ser un error tipográfico, debería ser fechaDeLanzamiento) y incluidoPlan. Sin embargo, en el contexto de la actividad, se sugiere que el constructor de Pelicula debería recibir solo nombre y fechaDeLanzamiento. Si deseas seguir el ejemplo de la actividad, podrías ajustar tu constructor de Pelicula para que coincida con el ejemplo proporcionado en el ejercicio:

public Pelicula(String nombre, int fechaDeLanzamiento) {
    super(nombre, fechaDeLanzamiento);
}

De esta manera, estarías alineando el constructor de Pelicula con el ejemplo del ejercicio, lo cual debería ayudarte a evitar errores de compilación al instanciar objetos de Pelicula y Serie.

Si decides mantener el parámetro incluidoPlan, asegúrate de que las instancias de Pelicula se creen con los tres argumentos necesarios, como en tu implementación original.

Espero que esta orientación te sea útil y te ayude a avanzar en tu proyecto. ¡Bons estudios!