Programmtexte

Bisher haben wir die grafische Programmierung zur Erstellung der grafischen Oberfläche (GUI: graphical user interface) und Programmierung des Rechners mit Befehlskacheln eingesetzt. Wir wollen nun die entsprechenden Befehle der Programmiersprache Smalltalk uns genauer anschauen. Dazu schauen wir uns die Methode addieren in der Ansicht Programmtext an.

Wir erkennen, dass im Programmtext die verwendeten Objekte mit ihren Namen auftreten:

Die Objekttypen Text (mit Rand) (Textfelder) und Text (Label) stellt Squeak zur Verfügung. Die Eigenschaften der Objekte sind in Klassen festgelegt worden. Zusätzlich wurde bei der Definition der Klassen auch festgelegt, wie man die Eigenschaften auslesen und verändern kann. Dies erfolgt durch eine entsprechende Nachricht. Ein Objekt verfügt für jede Nachricht, die es versteht, über eine so genannte Methode, in der die Reaktion des Objekts auf den Empfang der entsprechenden Nachrichten festgelegt (programmiert) ist.

Die Grundform des Nachrichtenausdrucks in Smalltalk lautet also:

Das Ergebnis ist immer ein Objekt!

Programme in der Sprache Smalltalk bestehen grundsätzlich aus Nachrichten die an Objekte gesandt werden. Das Ergebnis einer solchen Nachricht ist wieder ein Objekt. (aus Johannes Brauer, Grundkurs Smalltalk, Vieweg)

Die Methoden, die im Programmtext addieren auftreten, sind:

Die Nachricht getNumericValue wird von einem Objekt der Klasse Text (mit Rand) verstanden und gibt als Ergebnis die eingegebene Zahl als Objekt zurück. Diese Nachricht besitzt kein Argument; es handelt sich um eine unäre Nachricht.

Die Nachricht setNumericValue: wird von einem Objekt der Klasse Text (mit Rand) verstanden und verändert den Inhalt eines Textfeldes. Im Argument steht nach dem Doppelpunkt die Information, die in das Textfeld eingetragen werden soll. Es handelt sich bei solchen Nachrichten um so genannte Schlüsselwortnachrichten.

Die Nachricht setCharacters: ist ebenfalls eine Schlüsselwortnachricht, die von einem Objekt der Klasse Text verstanden wird. Im Argument steht die Zeichenkette in Hochkommata, die den Inhalt des Textes festlegt.

Die Nachricht + Zahlobjekt wird an ein Zahlenobjekt gesandt, denn die Aufrufe tfoperanda getNumericValue und tfoperandb getNumericValue geben ja Zahlenobjekte zurück. Eine solche Nachricht mit genau einem Argument heißen binäre Nachrichten.

Der Programmtext beginnt mit dem Namen der Methode addieren. Dann folgen einzelne Zeilen, die mit einem Punkt enden. Der Abschlusspunkt in der letzten Zeile kann wie hier fehlen.

Auch ifTrue: ist ein Schlüsselwort. Das zugehörige Argument wird in eckige Klammern gesetzt. Man nennt dies einen Block. Analysiere den Programmtext der Methode dividieren.

Programmtext dividieren

Verändert man den Programmtext im Skript, so kann die Kacheldarstellung nicht mehr eingesetzt werden. Es gibt nicht zu jedem Befehl eine Kachel. Daher werden sämtliche Änderungen, die man im Programmtext vorgenommen hat wieder rückgängig gemacht, wenn man zur Kacheldarstellung zurückgeht.


zurück  weiter
© H. J. Fels, Gymnasium St. Wolfhelm, Schwalmtal, 2007