First page Back Continue Last page Overview Graphics

Verbindungen


Notes:

Objekte können und werden in Ihren Programmen zueinander in irgendeiner Weise in Interaktion treten (deswegen programmieren Sie ja). Das kann auf verschiedenste Arten geschehen, von denen die wichtigsten sind: Ein Objekt schickt eine Nachricht an ein anderes (was nichts anderes ist als die oo-Formulierung für „das eine Objekt ruft eine Methode des anderen Objekts auf), ein Objekt hat ein anderes als Attribut bei seinen Membervariablen.
Wie immer dem auch sein, so eine Verbindung kann im Objektdiagramm dargestellt werden, indem zwischen den Objekten eine Verbindungslinie gezogen wird. Verbindungen können dabei „unspezifiziert“, „gerichtet“ oder „ungerichtet“ sein.
Eine „unspezifizierte“ Verbindung ist eine solche, über deren Richtung wir einfach noch keine Aussage gemacht haben bzw. nicht nachgedacht haben. In weiterer Folge der Planung wird jede unspezifizierte Verbindung zu einer Gerichteten oder Ungerichteten.
„Gerichtet“ bedeutet, dass ein Objekt konkrete Kenntnis des anderen Objektes hat, bspw. indem es das andere Objekt eine Attributsvariable bildet. Im Beispiel oben gäbe es also unter den Variablen des Objekt3 eine mit Namen „Objekt4“, aber nicht umgekehrt. Das ist ein sehr häufiger Fall.
„Ungerichtet“ heißt in diesem Zusammenhang, dass beide Objekte Kenntnis voneinander haben. Angewendet auf die Folie könnte das wieder bedeuten, dass es im Objekt3 eine Variable „Objekt4“ gibt, aber jetzt auch im Objekt4 eine mit Namen „Objekt3“, sodass beide Objekte gleichsam aufeinander verweisen. Dieser Fall ist in der Codierungspraxis nicht ganz so häufig, kommt aber ebenfalls durchaus vor.
Zur Deutlichmachung des Zwecks (warum gibt es „Objekt4“ in Objekt3) können Verbindungen Namen erhalten, die in die Mitte der Verbindungslinie geschrieben werden. Zusätzlich kann das gerichtete Ende einer Verbindung (bei einer ungerichteten also alle beide) einen Namen erhalten der als Rolle bezeichnet wird. Oft ist es so, dass diese Rollennamen später die tatsächlichen Variablennamen werden. Dieses Konzept, das 1:1 auch bei den Klassendiagrammen existiert, hat aber ebendort wesentlich mehr Beschreibungskraft.