Cursos / Jogos Digitais / Programação Orientada a Objetos / Aula
Em suas pesquisas em outras fontes (tutoriais na internet, livros), além do material desta aula, você pode ter encontrado o uso da palavra (ou operador) super nos códigos exemplos.
A palavra super é mais uma das palavras reservadas da linguagem Java que tem uma forte ligação com a herança. A palavra super refere-se à classe ancestral imediata da classe, ou seja, à classe mãe ou super-classe. Ela é usada nos construtores para chamada de construtores em cascata das classes mães.
Listagem 4 - Herança em Java com uso do operador superA Listagem 4 ilustra um exemplo de herança em Java, que faz uso da palavra-chave super. Vamos então entender o que acontece quando usamos o comando super em tais contextos.
Primeiro, observe que o super é usado para chamar o método construtor da classe mãe. Na classe Transporte, como a classe mãe de Transporte é Object (vimos na aula passada que Object é o ancestral de todas as classes), o super não tem parâmetro. A chamada de super equivale a uma chamada explícita ao construtor sem parâmetro da classe Object.
Já no construtor da classe Terrestre, o super tem como parâmetro a capacidade exigida no construtor da classe Transporte. Portanto, a chamada a super na classe Terrestre é no fundo a chamada ao construtor de Transporte. Já no construtor da classe Automóvel, o super tem como parâmetros a capacidade e o numRodas exigidos pelo construtor da classe Terrestre.
Observando a Listagem 4, dá para observar que uma chamada a super ocasiona a invocação do construtor da classe mãe. Isso acaba permitindo uma chamada em cadeia dos construtores de classes ancestrais, permitindo assim a configuração de todos os atributos herdados da classe.
Vale ressaltar que se o construtor não possui parâmetro, o compilador Java aceita a omissão do super sem parâmetro, porque durante o processo de compilação ele insere explicitamente tal chamada. Para o nosso exemplo, se quiséssemos, poderíamos omitir o super do construtor da classe Transporte.
Versão 5.3 - Todos os Direitos reservados