Oi Ronaldo, tudo bem?Desulpe mas não entendi muito bem sua pergunta, mas vou responder de acordo com o exercício pra ver se ajuda. A pergunta do instrutor é:
Posso chamar um método abstrato de dentro de um outro método da própria classe abstrata? Um exemplo: o mostra
do Funcionario
pode invocar this.getBonificacao()
?
Ou seja, chamar um metodo abstrato dentro da mesma classe onde está o metodo...
Reposta: Sim, é possivel, pois em tempo de execução, o compilador tentará executar o metodo (que é abstrato) no objeto corrente.
Agora vamos pensar um pouco pra entender bem o que está acontecendo...
Eu tenho uma classe abstrata com vários metodos, e um desses metodos também é abstrato, beleza? Bom, dentro de um dos outros metodos que não são abstratos, eu chamo esse metodo que é abstrato. Tá começando a ficar confuso, mas prente a tenção!
Como o metodo é abstrato, a classe filha vai ter que implementar, certo? Então o objeto que está chamando o metodo que foi declarado como abstrato, tem o metodo implementado na sua classe. Sendo assim, o metodo que está presente no objeto será executado.
Era isso que não estava entendendo bem? Acho que ainda ficou um pouco confuso... O que acha? Conseguiu compreender?
Em qualquer caso, se a dúvida continuar, por favor, nos avise, tentaremos explicar de uma outra forma.