¡Hola Wilder, espero que estés bien!
Parece que tienes una buena comprensión de los conceptos básicos de la herencia en Java. La herencia es una herramienta poderosa en la programación orientada a objetos que te permite reutilizar código y establecer relaciones jerárquicas entre clases. A continuación, te daré un ejemplo práctico basado en el contexto de tu proyecto para que puedas ver cómo aplicar estos conceptos.
Supongamos que tienes una clase Título
que contiene atributos comunes a todos los títulos, como el nombre y la fecha de lanzamiento. Luego, tienes dos clases específicas: Película
y Serie
. Ambas clases pueden heredar de Título
para evitar la duplicación de código.
Aquí tienes un ejemplo de cómo podría estructurarse:
public class Título {
private String nombre;
private String fechaLanzamiento;
private boolean incluidoEnElPlan;
// Getters y setters para los atributos
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getFechaLanzamiento() {
return fechaLanzamiento;
}
public void setFechaLanzamiento(String fechaLanzamiento) {
this.fechaLanzamiento = fechaLanzamiento;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public void muestraFicha() {
System.out.println("Nombre: " + nombre);
System.out.println("Fecha de lanzamiento: " + fechaLanzamiento);
}
}
public class Película extends Título {
private String director;
// Getters y setters para el director
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
}
public class Serie extends Título {
private int temporadas;
private int episodiosPorTemporada;
private int minutosPorEpisodio;
// Getters y setters para los atributos específicos de Serie
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
public int getEpisodiosPorTemporada() {
return episodiosPorTemporada;
}
public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
this.episodiosPorTemporada = episodiosPorTemporada;
}
public int getMinutosPorEpisodio() {
return minutosPorEpisodio;
}
public void setMinutosPorEpisodio(int minutosPorEpisodio) {
this.minutosPorEpisodio = minutosPorEpisodio;
}
}
En este ejemplo, tanto Película
como Serie
heredan de Título
, lo que significa que ambas clases tienen acceso a los atributos y métodos definidos en Título
. Puedes añadir atributos y métodos específicos a cada subclase según sea necesario, como director
para Película
y temporadas
para Serie
.
Espero que este ejemplo te ayude a entender mejor cómo implementar la herencia en tu proyecto. ¡Bons estudos!