Einzelnen Beitrag anzeigen

Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Vererbung, Aggregation, Assoziation?

  Alt 13. Mai 2008, 17:03
Hallo liebe DP,
ich habe morgen meine mündliche Info-ABI-Prüfung und habe den ganzen Stoff durch, nur einen Punkt habe ich mir auf die Seite gelegt, weil ich ihn noch nicht ganz durchschaut habe. Es geht um die Kennt-Beziehung oder Assoziation.

Das vorliegende Programm ist ein Vokabeltrainer, der (natürlich) mit OOP umgesetzt wurde.

Dabei gibt es eine Klasse TVokKarte, die eine Liste vom Typ TSpeicherbareListe kennt.
Delphi-Quellcode:
unit mVokKartei; //Auszüge, Rechtschreibung und Formatierung korrigiert (mein Lehrer hat's damit nicht so...)
interface

uses
  SysUtils, Classes, Dialogs, StdCtrls, mListe, mVokabel;

type
  TVokKartei = class
  private
    Vok, neuVok: TVokabel; // Hat-Beziehung (Aggregation)
    KListe: TSpeicherbareListe; // Das Objekt, das gekannt wird, wird in der internen Zustandsvariablen KListe gespeichert.
  public
    constructor create(var Liste: TSpeicherbareListe); // Kennt-Beziehung (Assoziation)
    procedure Anzeigen(ListBox: TListbox);
    procedure SortEinfuegen(en, de: String);
    procedure ListeLoeschen;
  end;

implementation

constructor TVokKartei.create(var Liste: TSpeicherbareListe);
begin
  KListe:=Liste;
end;

//[...]
In den weiteren Prozeduren wird KListe benutzt.
Ich hätte jetzt gesagt, dass es sich um eine Hat-Beziehung handelt, da es ja ein Attribut von TVokKartei ist. Dass die Liste weiterlebt, wenn eine die Instanz von TVokKartei zerstört wird, ist mir klar, aber ist das der einzige Grund, weshalb es sich um eine andere Beziehung als die Aggregation handelt?
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat