Einzelnen Beitrag anzeigen

Passi077

Registriert seit: 7. Okt 2004
23 Beiträge
 
#1

OOP: Unidirektionale Beziehung wie realisieren?

  Alt 18. Apr 2006, 18:08
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
  Mit Zitat antworten Zitat