Fachkonzept - Aktivierung von Operationen
Kommunikation zwischen Objekten
Ein Objekt wird durch einen Ausdruck der Gestalt objekt.operation
aufgefordert, die
entsprechende Operation auszuführen.
Das folgende Programm enthält Beispiele für solche Aktivierungen von Operationen.
Hier wird mit dem Ausdruck rot_auto.an
beispielsweise das Objekt
rot_auto
aufgefordert, seine Operation an
auszuführen (falls die angegebene Bedingung ...
erfüllt ist).
Da der Ausdruck rot_auto.an
Bestandteil eines Programms des Objekts ampel_auto
ist,
wird das Objekt ampel_auto
als Auslöser zur Ausführung der Operation an
des
Objekts rot_auto
angesehen.
Man kann den Vorgang Objekt
auch als Kommunikation zwischen Objekten
deuten.
Mit anderer Sprechweise könnte man diesen Vorgang auch wie folgt beschreiben: ampel_auto
veranlasst Objekt rot_auto
, seine
Operation an
auszuführenDas Objekt
und
veranlasst dieses somit, seine Operation auszuführen.
ampel_auto
sendet die Nachricht an
an das Objekt rot_auto
Scratch erlaubt es (leider) nicht, Nachrichten an bestimmte Objekte zu senden.
Die Programmierkacheln erlauben nur Nachrichten an alle Objekte.
Um dennoch eine gezielte Aktivierung von Operationen einzelner Objekte zu ermöglichen,
haben wir die Nachrichten jeweils um den Empfänger erweitert.
So enthält die Anweisung sende rot_auto.an an alle und warte
hier die erweiterte Nachricht
rot_auto.an
bestehend aus dem Empfängerobjekt rot_auto
und der
eigentlichen Nachricht an
.
Beachte, dass ein Objekt auch sich selbst auffordern kann, eine bestimmte Operation auszuführen.
So veranlasst das Objekt ampel_auto
durch die Anweisung
sende ampel_auto.lampenschalten an alle und warte
sich selbst,
die Operation lampenschalten
auszuführen.