Glossar zur Objektorientierung mit Python

<== Zur Übersicht der Begriffe ==>


Assoziation, Aggregation & Komposition


Assoziation, Aggregation und Komposition sind Beziehungen zwischen Objekten.

Die drei Beziehungstypen werden auch im Klassendiagramm dargestellt, obwohl es sich bei ihnen nicht um Beziehungen zwischen Klassen, sondern zwischen Objekten handelt.
Die UML unterscheidet ihre Darstellung im Klassendiagramm durch das fehlende Pfeildreieck deutlich von der Vererbung und stellt die drei Typen ebenfalls unterschiedlich dar.

Assoziation

Die Assoziation stellt die allgemeinste Form dieser Beziehung dar. Wegen ihrer Vielseitigkeit gibt es auch sehr viele Namen und sprachliche Beschreibungen. So findet man benutzt-Beziehung, Verwendungsbeziehung und Worte wie "hat", "kennt", "benutzt" usw. verwendet man je nach dem Kontext in der sprachlichen Darstellung.

In der UML-Darstellung wird eine einfache durchgezogene Linie verwendet, die eine offene Pfeilspitze tragen kann.

Aggregation und Komposition

Aggregation und Komposition lassen sich sprachlich gut mit "besteht aus" beschreiben, da mit ihnen eine "Teil-Ganzes-Beziehung" beschrieben wird.

Dabei ist die Variante der Komposition deutlich schwieriger von der Aggregation zu unterscheiden, als beide von der einfachen Assoziation zu unterscheiden sind und die Klärung hängt oft auch vom Kontext der Software ab. Die Komposition statt einer Aggregation verwendet man, wenn Ganzes und Teil untrennbar verbunden sind, also jeweils ohne einander die Funktion verlieren.

Die UML-Darstellung bei einer Aggregation ist eine einfache durchgezogene Linie mit einer offenen Raute am "Ganzen", bei der Komposition ist die Raute ausgefüllt.


Assoziation

Zwischen der Klasse Stuhl und der Klasse Zeichnung besteht eine Assoziationsbeziehung. Das erzeugte Stuhlobjekt benutzt das Zeichnungsobjekt [Singleton!] zu seiner Darstellung.

Aggregation
Komposition

<== Zur Übersicht der Begriffe ==>

© Claus Albowski