Sobes.tech
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.