Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas sobre reescrita

Boa noite,

Fiquei com um pouco de dúvida em relação à vantagem da reescrita. Não percebi a grande diferença de colocar 2 getBonificacao na classe mãe e na filha ao invés de apenas alterar o nome do método da classe filha.

Obrigado por ler.

1 resposta
solução!

Olá Diego,

A vantagem em relação a reescrita está em relação a ter um comportamento especifico para a classe filha. No caso a classe Funcionario tem um comportamento geral, e quando o Gerente estende da classe Funcionario, a classe Gerente herda todos os comportamentos da classe Pai. Logo ao chamar o getBonificacao sem a reescrita irá trazer o comportamento geral, mas neste caso queremos colocar um valor diferenciado para a bonificação do gerente que é diferente da de Funcionário, por isso reescrevemos o comportamento. A vantagem é manter o mesmo nome do método. Talvez não fique claro pois o exemplo é simples, mas imagine que num sistema maior, onde tenhamos vários classes filhas, Gerente, sub-gerentes, coordenador, auxiliar ...., e tivermos que escrever um método diferente para buscar a bonificacao? Na pratica você chamar getBonificacao() sem se preocupar se é gerente ou não, você quer apenas que traga a bonificação sem se preocupar com a regra que foi implementada.

Bom, espero ter esclarecido, beleza?