Junior — Middle
Qual é a função do operador super no contexto de herança e chamada de métodos ou construtores da classe base?
sobes.tech IA
Resposta da IA
O operador super em Java é utilizado para aceder aos métodos ou construtores da classe base (pai) a partir de uma subclasse.
Principais utilizações de super:
- Chamar o construtor da classe base a partir do construtor da subclasse para inicializar a parte do objeto definida no pai.
- Chamar a um método sobrescrito da classe base se na subclasse for necessário complementar ou modificar o comportamento, mantendo parte da lógica do pai.
Exemplo de uso do construtor:
class Animal {
String name;
Animal(String name) {
this.name = name;
}
}
class Dog extends Animal {
Dog(String name) {
super(name); // chamada ao construtor de Animal
}
}
Exemplo de chamada a um método da classe base:
class Animal {
void sound() {
System.out.println("Algum som");
}
}
class Dog extends Animal {
@Override
void sound() {
super.sound(); // chamada ao método da classe base
System.out.println("Latido");
}
}
Assim, super ajuda a gerir a herança e a reutilização do código da classe base.