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.