In UML-Klassendiagrammen (UML = Unified Modeling Language) stellt eine Assoziation eine strukturelle Beziehung dar, die anzeigt, dass Objekte eines Klassifikationsmerkmals (z. B. einer Klasse oder Schnittstelle) verbunden sind, so dass zu Objekten anderer Klassifikationsmerkmale navigiert werden kann.
Eine Assoziation verbindet zwei Klassifikationsmerkmale: das Supplierklassifikationsmerkmal und das Clientklassifikationsmerkmal. Assoziationen können Ihnen helfen, Designentscheidungen für die Struktur Ihrer Daten zu treffen. Sie können nicht nur festlegen, welche Klassen für die Daten nötig sind, sondern auch, welche Klassen benötigt werden, um die Daten mit anderen Klassen gemeinsam zu nutzen. Eine Assoziation unterstützt die gemeinsame Datennutzung zwischen Klassen oder (bei reflexiver Assoziation) zwischen Objekten derselben Klasse.
Beispiel: Eine Clientklasse verfügt über eine einzige Assoziation (1) zu einer Kontoklasse, die angibt, dass als Eigner aller Kontoinstanzen eine einzige Clientinstanz definiert ist. Wenn Sie ein Konto kennen, können Sie den Client feststellen, der als Eigner dieses Kontos definiert ist. Über einen bestimmten Client können Sie wiederum das zugehörige Konto feststellen. Die Assoziation zwischen der Client- und der Kontoklasse ist von Bedeutung, da sie die Struktur zwischen den beiden Klassifikationsmerkmalen aufzeigt.
Multiplizitätsinformationen können mit einer Assoziation verknüpft werden, um zu zeigen, wie viele Instanzen der Klasse A mit Instanzen der Klasse B verbunden sind. Multiplizitätsinformationen können beiden Enden einer Assoziationsbeziehung zugeordnet werden.
In UML-Klassendiagrammen stellen Assoziationsbeziehungen in einer Java-Anwendung die folgenden Sachverhalte dar:
Bei der UML-Visualisierungszuordnung werden Instanzvariablen in einer Java-Anwendung als Attribute in Klassifikationsmerkmalsformen von UML-Klassendiagrammen definiert. Standardmäßig werden alle Java- und CMP-Entity-Bean-Felder (CMP = Container-Managed Persistence) als Attribute dargestellt.
Wie in der folgenden Abbildung dargestellt, wird ein Connector für eine Assoziationsbeziehung als durchgezogene Linie zwischen zwei Klassifikationsmerkmalen dargestellt.
Java-Quellcode | UML-Visualisierung |
![]() |
![]() |