Hi,
ich wollte gerade mein Projekt anfangen, da ist mir aufgefallen das ich noch gar nicht weiß wie man unidirektionale Beziehungen zwischen Klassen herstellt.
Also, Beispiel:
Ich habe 3 Klassen: cSteuerung, cSpieler und cSpielfeld.
Geplante Assoziationen: cSteuerung kennt cSpieler, cSpieler kennt cSpielfeld, cSpielfeld kennt cSteuerung.
Bisher sah das dann bei mir so aus:
Delphi-Quellcode:
uses
uSpieler; // Diese beiden Units enthalten jeweils die Klassen
type
Steuerung=class
private
Spieler: cSpieler;
public
constructor create();
end;
Und im Konstruktor wird dann ein Objekt der Klasse cSpieler instanziiert (Spieler:=cSpieler.create). Genau das ist aber jetzt mein Problem, da ja auch andere Klassen die Selbe Klasse und das selbe Objekt von dieser Klasse kennen sollen. Ich kann also nicht in jeder Klasse ein neues Objekt erzeugen..
Deswegen denke ich muss man ähnlich wie bei der bidirektionalen Beziehung vorgehen und dem Konstruktor eine Referenz übergeben..?
Ich hab jetzt schon dies und das durchüberlegt, aber ich komme nicht drauf. Entweder sind noch gar keine Objekte der Klasse erstellt so das ich keine Referenz übergeben kann oder ich lande wieder beim Alten.
Ich hoffe Ihr könnt mir am besten ein kleines Beispiel geben wie oben genannte Assoziationen in Delphi aussehen müssten.
Danke + Grüße
Passi