Bom dia! Eu tive a mesma dúvida que todos e o fórum ajudou um pouco a resolver isso. Bem no tópico "Dúvida Polimorfismo" responde que no seguinte exemplo o método autentica não pode ser compilado, pois o compilador irá buscar na referência funcionário onde não há nenhum método autentica. Mas então porque funciona no método getBonificacao() durante a aula? É porque já existe um método getBonificacao() na classe funcionario? Só por isso? Por existir um método com o mesmo nome na classe mãe aí o compilador busca pelo mesmo método sob-escrito nas classes filhas?