Fiquei com uma dúvida no método getbonificacao.
Em um primeiro vídeo nico diz que pode usar o método getbonificacao passando uma referência de funcionário como parâmetro em um método e no momento da execução ele iria identificar se o objeto era do tipo gerente, design ou outro por eles serem filhos da classe mãe definindo o polimorfismo.
Em outro momento ele disse que poderia usar o override para sobrescrever o método getbonificacao caso ele tivesse uma implementação diferente.
Depois ele disse que caso o método getbonificacao tenha uma corpo diferente que ele poderia colocá-lo como abstract na classe pai e que então ele poderia implementa-los da forma que quisesse dentro de cada classe filha.
No meu entendimento, tanto usando override, abstract ou o polimorfismo (como passando um objeto genérico tipo funcionário dentro do método como parâmetro eles iria entender que serão a bonificação do gerente ou outro tipo de funcionário) vai funcionar.... Certo?
O que eu não entendi é qual a vantagem ou jeito correto de fazer essa implementação.
Ou se não existe um jeito correto e se ele só mostrou 3 formas de fazer a implementação.
Obrigado.