Sobes.tech
Junior — Middle

¿Cuál es la función del operador super en el contexto de la herencia y la llamada a métodos o constructores de la clase base?

sobes.tech AI

Respuesta de la IA

El operador super en Java se utiliza para acceder a los métodos o constructores de la clase base (padre) desde una subclase.

Usos principales de super:

  • Llamar al constructor de la clase base desde el constructor de la subclase para inicializar la parte del objeto definida en el padre.
  • Llamar a un método sobrescrito de la clase base si en la subclase se necesita complementar o modificar el comportamiento, pero manteniendo parte de la lógica del padre.

Ejemplo de uso del constructor:

class Animal {
    String name;
    Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal {
    Dog(String name) {
        super(name); // llamada al constructor de Animal
    }
}

Ejemplo de llamada a un método de la clase base:

class Animal {
    void sound() {
        System.out.println("Algún sonido");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        super.sound(); // llamada al método de la clase base
        System.out.println("Ladrido");
    }
}

De esta forma, super ayuda a gestionar la herencia y la reutilización del código de la clase base.