Kapitel 12
Objektorientiertes Modellieren
340
#2: In dieser Methode wird eine String-Repräsentation des Stammbaum-Objektes generiert.
Zum Beispiel bei einer
print()-Anweisung (#5) wird diese Methode aufgerufen.
#3: Es wird ein Text aus mehreren Zeilen berechnet, der folgendermaßen aufgebaut ist:
Name der Person
String-Repräsentation des Stammbaums der Mutter, sofern die Mutter angegeben ist,
d.h. das Attribut
self.mutter nicht None ist. Hier findet also ein rekursiver Aufruf der
__str__()-Methode statt. Der Stammbaum der Mutter beginnt wieder mit einem
Namen, nämlich dem Namen der Mutter.
String-Repräsentation des Stammbaums des Vaters, sofern der Vater angegeben ist.
#4: Zuerst werden Objekte für die Großeltern von Jenny instanziiert. Deren Eltern sind
nicht bekannt, deshalb wird
None als zweites und drittes Argument übergeben. Die Groß-
eltern-Objekte werden zur Erzeugung der Eltern-Objekte benötigt und diese tauchen zum
Schluss bei der Erzeugung des Objektes
jenny als Argumente auf. Abbildung 12.8 zeigt die
resultierende Objektstruktur.
Abb. 12.8: UML-Objektdiagramm von Jennys Stammbaum
12.3.2 Aggregation
Ein spezieller und gleichzeitig häufig vorkommender Typ einer Assoziation zwischen
Objekten zweier Klassen ist die Aggregation. Es handelt sich dabei um die Beziehung zwi-
schen einem Ganzen (Aggregat) und Teilen, aus denen es zusammengesetzt ist. Manchmal
spricht man auch von einer »hat«-Beziehung oder »besteht aus«-Beziehung. Fast alle
Objekte des Alltags sind Aggregate. Ein Auto z.B. besteht aus vier Objekten der Klasse Rad,
einem Motor, einer Karosserie und anderen Teilen. In UML-Klassendiagrammen stellt man
eine Aggregation durch eine Linie mit einer ungefüllten Raute an der Aggregat-Klasse dar
(Abbildung 12.9).
jenny:Stammbaum
werner:Stammbaum
marlene:Stammbaum
anton:Stammbaum mariane:Stammbaum willy:Stammbaum sarah:Stammbaum

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.