modelos/Titulo.java
package modelos;
public class Titulo {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private double sumaDeLasEvaluaciones;
private int totalDeEvaluaciones;
// Constructor solicitado
public Titulo(String nombre, int fechaDeLanzamiento) {
// Usamos 'this' para asignar los parámetros a los atributos de la clase
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
// Métodos Getters y Setters (Omitidos por brevedad, pero necesarios para el código completo)
public String getNombre() { return nombre; }
public int getFechaDeLanzamiento() { return fechaDeLanzamiento; }
public int getDuracionEnMinutos() { return duracionEnMinutos; }
public void setDuracionEnMinutos(int duracionEnMinutos) { this.duracionEnMinutos = duracionEnMinutos; }
// Otros métodos (como muestraFichaTecnica, evalua, etc. si existen)
}
modelos/Serie.java
package modelos;
public class Serie extends Titulo {
private int temporadas;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
// Constructor solicitado
public Serie(String nombre, int fechaDeLanzamiento) {
// Obligatorio: Llama al constructor de la clase Titulo
super(nombre, fechaDeLanzamiento);
}
// Métodos específicos de Serie (omito por brevedad)
// ...
}
modelos/Pelicula.java
package modelos;
// Necesitas la interfaz Clasificable del ejercicio anterior
import com.aluracursos.screenmatch.calculos.Clasificable;
public class Pelicula extends Titulo implements Clasificable {
private String director;
// Constructor solicitado
public Pelicula(String nombre, int fechaDeLanzamiento) {
// Obligatorio: Llama al constructor de la clase Titulo
super(nombre, fechaDeLanzamiento);
}
// Implementación de Clasificable (del ejercicio anterior, simplificado)
@Override
public int getClasificacion() {
// Esto solo es un ejemplo, necesitarías implementar calculaMedia() real
return 4;
}
// Getters y Setters específicos
public String getDirector() { return director; }
public void setDirector(String director) { this.director = director; }
}
principal/Principal.java
package principal;
import modelos.Pelicula;
import modelos.Serie;
public class Principal {
public static void main(String[] args) {
// CORRECCIÓN: Instanciando Pelicula y pasando nombre y fecha
Pelicula favorita = new Pelicula("The Matrix", 1999);
favorita.setDuracionEnMinutos(136); // Asignamos la duración con setter
Pelicula otraPelicula = new Pelicula("Avatar", 2009);
otraPelicula.setDuracionEnMinutos(162);
// CORRECCIÓN: Instanciando Serie y pasando nombre y fecha
Serie casaDragon = new Serie("La Casa del Dragón", 2022);
casaDragon.setDuracionEnMinutos(50); // Duración de un episodio
// Muestra de resultados (opcional)
System.out.println("Película favorita: " + favorita.getNombre() +
" (" + favorita.getFechaDeLanzamiento() + ")");
System.out.println("Serie: " + casaDragon.getNombre() +
" (" + casaDragon.getFechaDeLanzamiento() + ")");
}
}