Assoziationen

Damit Objekte untereinander kommunizieren können, müssen sie in Beziehung stehen. Diese Beziehung nennt man Assoziationen. Assoziationen werden im Klassendiagramm mit einer Linie dargestellt und nur verwendet wenn es sich um gleichrangige Objekte handelt.

Bidirektionale Assoziation

Sobald beide Klassen gegenseitig aufeinander zugreifen können, herrscht eine bidirektionale Assoziation. Zu beachten ist, dass sobald die Verbindung von Klasse A zur Klasse B gelöscht wird, muss auch die Verbindung von Klasse B zu Klasse A gelöscht werden.

Bidirektionale Assoziation

Unidirektionale Assoziation

Bei einer unidirektionalen Assoziation hat nur Klasse A Zugriff auf Klasse B. Häufig ist Klasse B eine sogenannte Fachklasse, die Daten für die Abfrage bereit stellt.

Unidirektionale Assoziation

Reflexive Assoziation

Als reflexive Assoziation beschreibt man eine Beziehung zwischen Objekten der gleichen Klasse. Beispielsweise hat ein Mitarbeiter einen Vorgesetzten, der jedoch auch ein Mitarbeiter ist.

Reflexive Assoziation

Aggregation

Die Aggregation stellt ein Spezialfall der Assoziation dar und wird verwendet, wenn es sich um eine Ganze-Teil-Beziehung handelt, in der das Teil eigenständig überlebensfähig ist und sich selbst verwaltet.

Wichtig ist, dass das Teil, dadurch das es eigenständig überlebensfähig ist, natürlich auch weiterhin existiert, wenn das Ganze gelöscht wird. Außerdem hat das Teil keinen Zugriff auf das Ganze.

Ein Beispiel dafür wäre ein Unternehmen und mit seinen Mitarbeitern. Die Mitarbeiter sind zwar Teile des Unternehmens, aber eigenständig überlebensfähig, verwalten sich selbst und könnten jederzeit zu einem anderen Unternehmen wechseln.

Uml Aggregation

Komposition

Ein weiterer Spezialfall der Assoziation ist die Komposition. Sie wird, genauso wie die Aggregation, verwendet, wenn es sich um eine Ganze-Teil-Beziehung handelt. Jedoch ist das Teil nicht eigenständig überlebensfähig. Außerdem ist das Teil nicht in der Lage sich selbst zu verwalten, sondern wird durch das Ganze verwaltet.

Demnach existiert das Teil auch nur, wenn das Ganze existiert. Wie auch bei der Aggregation hat das Teil keinen Zugriff auf das Ganze.

Ein Beispiel hierfür wäre ein Gebäude mit Räumen. Die Räume sind Teil des Gebäudes und nicht eigenständig überlebensfähig, da sie ohne das Gebäude nicht existieren könnten.

UML Komposition