Sobes.tech
Junior

¿Cómo utiliza una clase heredada la funcionalidad de la clase padre?

sobes.tech AI

Respuesta de la IA

A través de la herencia: la clase hija recibe los miembros públicos y protegidos de la clase padre.

  • Acceso directo: Se puede acceder directamente a los campos y métodos públicos y protegidos del padre por su nombre dentro de la clase hija.
  • Palabra clave super: Se usa para llamar al constructor del padre o para acceder a los métodos/campos sobrescritos del padre cuando en la clase hija hay miembros con el mismo nombre.
  • Sobrescritura (overriding): Los métodos del padre (que no sean final) pueden ser sobrescritos en la clase hija, modificando su comportamiento.
// Ejemplo de clase padre
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Valor del padre: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Este método no puede ser sobrescrito.");
    }
}

// Ejemplo de clase hija
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Llamada al constructor del padre
        this.childValue = childValue;
    }

    // Sobrescribir método del padre
    @Override
    public void displayParentValue() {
        System.out.println("Valor sobrescrito del padre: " + parentValue); // Acceso al campo protegido del padre
    }

    public void displayChildValue() {
        System.out.println("Valor del hijo: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // Llamada al método del padre mediante super
    }
}