Hallo,
ich übe mich an der
oop unter Delphi. Nun habe ich ein Problem. Ich will in Objekte den Erzeuger speichern. Momentan mache ich das so, wie in dem Mustercode hier:
Delphi-Quellcode:
tVater = Class
Protected
Soehne : tObjectList;
Private
Public
Name:String;
constructor Create(einName:String);
function Geburt: tSohn;
End;
tSohn = Class
Protected
Vater:tVater:
Private
Public
constructor Create(einVater : tVater);
Function GetVater: tVater;
End;
constructor tVater.Create(einName:String);
Begin
Name:=EinName;
End;
function tVater.Geburt: tSohn;
Begin
Result:=tSohn.Create(self);
End;
constructor tSohn.Create(einVater : tVater);
Begin
Vater:=einVater;
End;
Function tSohn.GetVater: tVater;
Begin
Result:=Vater;
end;
Vater:=tVater.Create;
Sohn:=Vater.Geburt;
showmessage(Sohn.GetVater.Name);
Meine Frage ist, kann ich das ganze auch als Referenz machen???
Ich hab die Befürchtung, dass ich zu viel Speicher belege. Denn in meinem Beispiel ist die Klasse Vater sehr groß und die Objekte
vom typ tSohn sehr zahlreich. Und wenn ich nun in jedem Sohn den Vater in Wertsemantik vorhalte...
Ich hoffe, ich hab nach einem langen Arbeitstag mein Problem noch deutlich Darstellen können.
[edit=sakura] Buchstabendreher im Titel korrigiert. Mfg, sakura[/edit]