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?