Fórum Definição de Classes: herança de valores #347193

10/10/2007

0

Bom dia, senhores(as)!

Há como definir (com diretivas do Delphi) que os campos herdados de uma classe ancestral herdem, também, os valores destes? Ou é preciso, no método Create da classe descendente, atribuir explicitamente estes valores, como no exemplo a seguir?

[b:e4756bd5fa]Ancestral.Create(const pNome: string);
FNome:=pNome;

---

Descendente.Create;
inherited Ancestral.Create; //[b] Deveria herdar também os valores???[/b:e4756bd5fa]
Descendente.Nome:=Ancestral.Nome;[/b] // Ou preciso atribuí-lo?

---

Grato pela atenção.

Henrique


José Cordeiro

José Cordeiro

Responder

Posts

10/10/2007

Massuda

[quote:abadc6a47e=´José Henrique Cordeiro´]Há como definir (com diretivas do Delphi) que os campos herdados de uma classe ancestral herdem, também, os valores destes? Ou é preciso, no método Create da classe descendente, atribuir explicitamente estes valores, como no exemplo a seguir?[/quote:abadc6a47e]Os campos herdados serão inicializados quando o construtor da classe pai for executado (via inherited). Portanto, não há necessidade de atribuir (novamente) valores aos campos herdados numa classe descendente.

Note que no construtor da classe descendente, [b:abadc6a47e]antes[/b:abadc6a47e] da chamada ao construtor herdado (via inherited) os campos herdados não tem valor simplesmente porque ainda não foram inicializados.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar