Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vererbung, Aggregation, Assoziation? (https://www.delphipraxis.net/93333-vererbung-aggregation-assoziation.html)

mo_greene 7. Jun 2007 20:31

Re: Vererbung, Aggregation, Assoziation?
 
ich hab dieses doch in die uses eingebunden? :gruebel:

Jelly 7. Jun 2007 20:34

Re: Vererbung, Aggregation, Assoziation?
 
Das will doch aber nichts heissen. Du brauchst schon eine Instanz von deiner Klasse.

mo_greene 8. Jun 2007 13:06

Re: Vererbung, Aggregation, Assoziation?
 
ok vielen dank! :zwinker:

ich wollte nochmal fragen, wo die vorteile von dem MVC (Model-View-Control) Konzept bestehen, abgesehen von der besseren Übersichtlichkeit und evtl. das leichtere "preediting"?

mo_greene 10. Jun 2007 16:30

Re: Vererbung, Aggregation, Assoziation?
 
Sind das die richtigen Definitionen für die Begriffe? Kann man noch was hinzufügen/ändern?

[Vererbung]
Je nachdem, in welcher Richtung man Ober- und Unterklassen untersucht, spricht man von
Spezialisierung:
ausgehend von der Oberklasse werden in der Unterklasse Spezialisierungen definiert

oder

Verallgemeinerung:
Gemeinsamkeiten von Unterklassen werden extrahiert und in einer Oberklasse zusammengefaßt.

[Assoziation]
Sie drückt das Verhältnis von zwei völlig selbständigen Objekten aus, die auf der gleichen Abstraktionsebene stehen und eigentlich nichts miteinander zu tun haben, aber unter bestimmten Gesichtspunkten in eine lose Kennt-Beziehung ('KNOWS') gebracht werden können.

[Aggregation]
ist der Sonderfall einer Assoziation (s.u.). Sie drückt ein starkes semantisches Verhältnis von zwei an sich selbständigen Objekten aus, von denen eines Teil des anderen ist ('IS-PART-OF').

Elvis 10. Jun 2007 16:34

Re: Vererbung, Aggregation, Assoziation?
 
Zitat:

Zitat von mo_greene
Sind das die richtigen Definitionen für die Begriffe? Kann man noch was hinzufügen/ändern?

Ist aber nur irgendwo her kopiert.
Zum Beispiel weißt du immer noch nicht was eine Beziehung oder Assoziation bedeutet.
Sonst hättest du die AV im anderen Thread nicht bekommen, oder hier keine globale Variable genommen. ;)

Also schaue was du nicht verstehst, komme dann hierher zurück und stelle spezifische Fragen.
Wir werden dir nicht die Hausaufgaben machen und auch keinen Text vorsetzen, den du auswendig lernen und in der Prüfung hohl runterlullen kannst.
Würde dir ja auch nicht wirklich weiterhelfen...

Jelly 10. Jun 2007 19:05

Re: Vererbung, Aggregation, Assoziation?
 
Robert hat Recht. Und damit auch alles verstanden wird, sollte Komposition auch noch erwähnt werden.

everdream 13. Mai 2008 17:03

Re: Vererbung, Aggregation, Assoziation?
 
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?

Phoenix 13. Mai 2008 17:31

Re: Vererbung, Aggregation, Assoziation?
 
Ohne jetzt aktuell allzutief in der Theorie zu stecken (meine Vorlesungen dazu sind schon ne Weile her und ich arbeite grad mehr als zu studieren :mrgreen:) würde ich sagen: Ja.

everdream 13. Mai 2008 17:40

Re: Vererbung, Aggregation, Assoziation?
 
Dann könnte im Prinzip jedes Attrubut, das von TObject abgeleitet ist, als Assoziation statt Aggregation vorliegen, wenn es noch irgendwo anders vorliegt/benutzt wird als in der Klasse, die das Attribut hat? Das ist mal wieder einfacher, als ich dachte...
OOP habe ich erst nach 8 Monaten Unterricht geschnallt, weil ich immer dachte, das wäre alles voll kompliziert und ich habe dementsprechend nicht geschnallt wie es funktioniert. Ich hoffe, mein Lehrer kann mir morgen ausnahmsweise mal vernünftig erklären, was ich zu tun habe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz