Einzelnen Beitrag anzeigen

volf

Registriert seit: 25. Jan 2010
Ort: Mannheim
11 Beiträge
 
#3

Re: assoziationen zwischen objekten

  Alt 5. Feb 2010, 19:35
Zitat von mkinzler:
Zitat:
Muss bei einer Aggregation die Komponente in der Klasse als Feld hinzugefügt werden? Man könnte doch die Komponente außerhalb der Klasse irgendwo deklarieren und im z.B. im FormCreate() createn?
Aggegation heisst ja Teil eines Ganzen und vom Ganzen abhängig.
Zitat:
Bei einer unidirektional Assoziation müssen dan gegenseitig die Komponenten als Feld hinzugefügt werden oder?
Nein, unidirektional heisst der eine kennt den anderen, der andere den einen aber nicht.
Z.B. der Normalfall beim Owner. Der Owner kennt sein Eigentum und gibt dieses bei seiner Freigabe mit frei. eine Komponente kennt im Normalfall seinen Owner ab nicht.
Bidirektional heisst, das ein Objekt weiss, wer sein Owner ist.
ja sollte bidirektional heißen.

Klasse 1:

Delphi-Quellcode:
 TDaten= class
 private
     spielFeld: array [0..3,0..3] of string;
// function pruefeZeile(pZ:string,pZeile:integer):integer;
 // function pruefeZeile(pZ:string,pZeile:integer):integer;
 public
 // procedure setzeFeld(pNr:integer,pAktSpieler:string):boolean;
  // procedure pruefeGewonnen(pAktSpieler:string):boolean;
 end;

Klasse 2:
Delphi-Quellcode:
type
  TSteuerung= class
 private
   dieSpielNr:integer;
   anzahlZuege:integer;
 // procedure setzeAktSpieler(pAktSpieler:string);
  // procedure erhoeheAnzZuege;
 // procedure erstelleStatistik(pAktSpieler:string);
     function ermittleSpieler(): string;
 public
        aktSpieler:string;
  // procedure bearbeiteClick(pNr:integer);
  // procedure bearbeiteTaste(pNr:integer);
     procedure NeuesSpiel;
 end;

sagen wir mal zwischen diesen Klassen soll eine bidirektionale assoziation bestehen. könnte jemand die felder ergänzen, die jetzt hinzukommen würden?
  Mit Zitat antworten Zitat