Olá, eu li os tópicos anteriores, mas ainda tenho uma dúvida: Supondo que eu crio um objeto da classe filha mas o declaro com a referência da classe mãe (ex.: Funcionario f = new Gerente (); ). Por que uma referência da classe mãe roda um método da classe filha (que existe com mesmo nome e argumentos na classe mãe, mas com conteúdos diferentes) e ao mesmo tempo não roda um método exclusivo da classe filha?? Esse comportamento me parece um pouco incoerente. Eu tô deixando passar alguma coisa?
Não sei se ficou clara a pergunta, mas ao declarar f como Funcionário, não compilava f.autentica(###) porque autentica é um método de Gerente e ao mesmo tempo o getBonificação resultava a bonificação do gerente mesmo o argumento passado à outra classe sendo tipo Funcionario.
Obrigado, de antemão.