Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 7 da Aula 4 - Classes Abstratas

Boa noite! li a dúvidas mas não estou convencido que entendi o conceito deste exercício. Minha resposta me parece confusa: "Sim, como o método abstrato esta em todas as classes filhas, mesmo que o método em questão que não "saiba" que as filhas devem implementar obrigatoriamente este método, para o método não importa de onde vem o resultado". Por favor, poderiam explicar um pouco sobre este assunto. Obrigado.

3 respostas

Poderia explicar um pouco mais a pergunta ?

solução!

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.

Entendi, perfeita sua explicação!!! Obrigado