Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Get tem mesma função de Super?

Olá a todos.

Assistindo a aula 2 "Reescrita de métodos" da parte 3. Surgiu uma dúvida. Na classe Gerente, o professor colocou o Super para referenciar o Salario que estava na classe anterior, a de funcionário junto ao modificador de visibilidade Protected..

public double getBonificacao() {
        return super.salario; 
    }

Até aí tudo bem. Entendi perfeitamente. Entretanto, fui fazendo uns testes e coloquei tanto como Protected quanto como Private (testei nas duas opções) usando o GET e não o Super, e quando invocado pelo Bonificação na classe TesteGerente funcionou corretamente.

public double getBonificacao() {
        return getSalario(); 
    }

Minha dúvida é... Tanto faz eu usar o Super ou o Get neste caso? No final seria o mesmo resultado? Ou a convenção de código só permite eu usar o Super? Usando o Get, lá na frente traria problemas? Porque, pessoalmente, eu achei mais fácil usando o Get, pois automaticamente na minha cabeça ja se entende que está puxando de outra classe. Isso tanto o Private quanto o Protected.

Abraço!

2 respostas
solução!

sempre que usar super o Java vai chamar o método da classe mãe. sem super da classe que vc está invocando

Adicionalmente, a resposta do Gustavo vale tanto para os métodos quanto para os fields de uma classe.