Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Fachkonzept - Interaktion zwischen Objekten

Wie interagieren Objekte?

ZufI

Zur Beschreibung der Arbeitsweise von Objekten werden oft Sprechweisen benutzt, die diesen Vorgang in Analogie zur Lebenswelt setzen.

Rasen mähen

Eine Firma bietet Rasenmähen als Dienst an. Durch eine Nachricht an die Firma kann man diesen Dienst in Anspruch nehmen, d.h. die Firma auffordern, ihren Dienst auszuführen. Ein Auftraggeber muss die Firma kennen, um eine geeignete Nachricht an die Firma senden zu können und mit ihr in der gewünschten Weise interagieren zu können.

Die im Kontext Rasenmähen benutzten Begriffe werden jetzt auf die Welt der Software-Objekte übertragen.

Objekte können (in aller Regel) bestimmte Operationen mit den von ihnen verwalteten Daten ausführen. Die Ausführung einer Operationen wird als Dienst anderen Objekten zur Verfügung gestellt. Andere Objekte können den zur Verfügung gestellten Dienst dann nutzen. Hier wird also die Anbieter-Nutzer-Sichtweise benutzt.

Wenn ein Objekt den Dienst eines anderen Objekt nutzen will, dann schickt es ihm eine Nachricht. Das Senden einer Nachricht bedeutet, ein Objekt zu veranlassen, eine seiner als Dienste zur Verfügung gestellten Operationen auszuführen.

Das Versenden von Nachrichten wird als Interaktion zwischen Objekten gedeutet. Voraussetzung für eine Interaktion zwischen Objekten ist, dass diese miteinander in Beziehung stehen.

Beispiel: Verwaltung von Bankkonten

Die oben beschriebene Sichtweise soll im Kontext Bankkonten verdeutlicht werden. Als Beispiel soll das Überweisen eines Geldbetrags betrachtet werden. Das folgende Klassendiagramm soll die hier betrachtete Objektwelt beschreiben.

Sequenzdiagramm

Die Analogien zur Lebenswelt ermöglichen es, die Ausführung objektorientierter Programme in einem Rollenspiel zu verdeutlichen, bei dem Personen die Rolle von Objekten übernehmen.

Rolenspiel

Ein Bank-Objekt (dargestellt von einer ersten Person) bietet den Dienst ueberweisen an. Wenn es diesen Dienst ausführt, dann schickt es zunächst eine Nachricht auszahlen(...) an ein Konto-Objekt kontoVon (dargestellt von einer zweiten Person) und anschließend eine Nachricht einzahlen(...) an ein Konto-Objekt kontoNach (dargestellt von einer dritten Person). Das Bank-Objekt interagiert also hier mit zwei Konto-Objekten. Dies alles ist deshalb möglich, weil das Bank-Objekt gemäß Klassendiagramm oben in Beziehung zu den Konto-Objekten steht und weil Konto-Objekte die Dienste einzahlen(...) und auszahlen(...) anbieten.

Zur Darstellung solcher Interaktionsprozesse benutzt man häufig sogenannte Sequenzdiagramme:

Sequenzdiagramm
X

Fehler melden

X

Suche