Professor, você explicou a utilidade de se usar um objeto mais generico para acessarmos um objeto mais especifico como no exemplo que você usou Funcionario f = new Gerente();. Desse modo temos um ganho quanto a reutilização de código, porém se você quis-se utilizar um metodo especifico da classe gerente como no ex: autentica() e ainda por cima usar o ganho da reutilização e código como você faria?