Herança no AdvPL

Boa tarde, pessoal.

Estou com uma dúvida sobre herança no AdvPL. Comecei a usar tem pouco tempo então algumas coisas eu não sei o correto funcionamento.

Observe por exemplo o fonte em anexo. Nele, eu possuo duas classes: TClassePai e TClasseFilha, onde a TClasseFilha herda da TClassePai (obviamente).

Ambas as classes possuem uma propriedade chamada cMessage, onde na TClassePai o conteúdo é "ClassePai" e na TClasseFilha é "ClasseFilha".

Ambas também possuem um método chamado Get, onde na TClassePai ele retorna a propriedade cMessage e na TClasseFilha ele chama o Get da TClassePai e concatena com a propriedade cMessage da TClasseFilha (acho que ficou um pouco confuso escrevendo, mas no código dá pra entender rs).

Ao instanciar a classe TClasseFilha e chamar o método Get, eu estava esperando que o retorno seria "ClassePaiClasseFilha", mas retornou "ClasseFilhaClasseFilha". Por que isso acontece? Percebi que ao alterar o nome da propriedade cMessage da TClassePai para outro qualquer, ele retorna corretamente "ClassePaiClasseFilha". Alguém poderia me explicar este comportamento?

Grato pela ajuda.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl heranca ou faça a sua própria pergunta.