1
resposta

Polimorfismo

Na aula 3, temos a classe ControleBonificacao

public class ControleBonificacao {

private double soma;

public void registra(Funcionario f) {
    double bonus = f.getBonificacao();
    this.soma = this.soma + bonus; 
}

}

Minha dúvida é: se o método registra funciona com Gerente g1 = new Gerente();

Pra que escrever Funcionario f1 = new Gerente();

Se o gerente já é um funcionário, pra que declarar a referencia de maneira diferente?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

É possível que você possua um código que esteja fazendo uso de Funcionario, num ecosistema de classes que existam vários tipos de funcionários (Gerente, Diretor, Presidente, etc).

Por exemplo você possui um array de Funcionario em que precise percorrer o array e registrar cada elemento do array, algo do tipo:

List<Funcionario> listaFuncionario = new ArrayList<>();
populaComTotoTipoDeFuncionario(listaFuncionario);
listaFuncionario.forEach((f) -> f.registra());

Espero que ajude.