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

[Proyecto] Herencia

Herencia:

Qué hace Permite reutilizar código y establecer una jerarquía de clases

Cómo funciona Una nueva clase hereda propiedades y comportamientos de una clase existente

Qué clases se involucran La clase que hereda se llama subclase, y la clase que se hereda se llama superclase

Cómo se indica Se utiliza la palabra clave extends para indicar que una clase hereda de otra

Qué permite Reducir la duplicación de código y facilitar la expansión del programa

1 respuesta

¡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!