Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno OOP (Delphi) - Ako volať v potomkovi konštruktor z premennej predka (override)?

Lenže ja to mám definované takto:

NovyObjekt = objekt
  Predok: TPredok;
  ostatne_vlastnosti_a_metody;
  constructor Create(Nieco: TPredok);
end;
No a potom zavolám:
NovyObjekt.Create(PotomokPredka);
No a Create() vyzerá takto:
constructor NovyObjekt.Create(Nieco: TPredok);
begin
  Predok := Nieco;
end;
Ja to chcem tak, že Nieco vytvorím v NovyObjekt.Create() a aby sa zavolal konštruktor Potomka. Aha, takže práve vidím, že v tom problém nebude, pokiaľ neodovzdám ako parameter inštanciu potomka (keďže ešte nie je vytvorený), ale len čisto typ potomka. No a myslím, že tu som na hranicí možností Delphi. Odovzdávanie typu miesto hodnoty som ešte myslím nevidel. Ako na to?

Edit: IMHO, tiež by to vyriešilo, keby som ako parameter odovzdal odkaz na konštruktora objektu PotomokPredka. Ale konštruktor ako paramaeter metódy je asi nemožný, je tak?

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny