Fachkonzept - Beziehung / Assoziation
Wie stellt man Verbindungen zwischen Objekten her?
Ein Software-Objekt kann nur dann ein anderes Software-Objekts veranlassen, eine Methode auszuführen, wenn es eine Verbindung zu dem anderen Software-Objekt hat.
Um ein solches In-Beziehung-Setzen von Software-Objekte zu realisieren, werden Software-Objekte mit Attributen versehen, mit deren Hilfe sie Referenzen auf "Beziehungspartner" verwalten können.
Referenzattribute
Wir betrachten als Beispiel ein Spieler
-Objekt, das zwei Wuerfel
-Objekte
aktivieren soll.
Damit das Spieler
-Objekt Zugriff auf die Wuerfel
-Objekte erhält,
wird es mit sogenannten Referenzattributen versehen.
Das Spieler
-Objekt verfügt über die Attribute rWuerfel1
und rWuerfel2
,
deren Werte Referenzen bzw. Zeiger auf die entsprechenden Wuerfel
-Objekt sind. Zur Erinnerung:
Eine Referenz bzw. ein Zeiger ist nichts anderes als die
Adresse, unter der das Objekt im Speicher zu finden ist.
Mit Hilfe eines Aufrufs wie z.B. sp1.rWuerfel1.werfen()
kann das Spieler
-Objekt sp1
jetzt Methoden der zugeordneten
Wuerfel
-Objekte aktivieren.
Das Spieler
-Objekt sp1
hat somit Zugriff auf die Wuerfel
-Objekte.
Man sagt auch, dass das Spieler
-Objekt sp1
in Beziehung zu
den Wuerfel
-Objekten w1
und w2
steht.
Beziehungen zwischen Objekten
Das Beziehungskonzept lässt sich so beschreiben:
Wenn ein Objekt über einen Zeiger (eine Referenz) Zugriff auf ein anderes Objekt hat, so liegt eine (gerichtete) Beziehung zwischen den Objekten vor.
Um zu verdeutlichen, dass Objekte einer Klasse in Beziehung zu Objekten einer anderen Klasse stehen, wird im Klassendiagramm diese Beziehung durch einen Pfeil verdeutlicht. Die Beziehung kann - wie im folgenden Diagramm zu sehen - zusätzlich mit Kardinalitätsangaben genauer beschrieben werden.