03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

94 5 Spezialisierung von Lösungsplänen<br />

um eine ganze Zahl handelt, wird die Division der ganzen Zahlen “48” und “64”<br />

durch die Methode “/” der Klasse “Integer” ausgeführt, so daß als Ergebnis-Objekt<br />

der Bruch “3/4” erhalten wird.<br />

Hinweis: Innerhalb der Message “/” der Klasse “Integer” werden – sofern es sich beim<br />

Divisor nicht um eine Instanz der Klasse “Float” handelt – die Message “gcd:” zur Bestimmung<br />

des größten gemeinsamen Teilers von Zähler und Nenner und die ganzzahlige<br />

Division durch den Einsatz der Message “//” ausgeführt, so daß der Bruch “48/64” zu<br />

“3/4” gekürzt wird.<br />

Wird bei “3/8 + (3/8)” der zweite Operand nicht geklammert, so erhalten wir den Bruch<br />

“27/64”. Dies liegt daran, daß – entsprechend der Auswertungsreihenfolge von “links nach<br />

rechts” – zunächst “3/8 + 3” berechnet und das Zwischenergebnis “27/8” anschließend<br />

durch “8” dividiert wird.<br />

5.5.5 Die Basis-Klasse “Character”<br />

Die Basis-Klasse “Character” ist eine direkte Unterklasse der abstrakten Klasse<br />

“Magnitude”. Instanzen der Klasse “Character” sind einzelne Zeichen. Sie zählen<br />

ebenso wie die Zahlen zu den Literalen.<br />

Entsprechend dem ASCII-Kode gibt es 256 verschiedene Zeichen, die mit den ganzzahligen<br />

ASCII-Kodewerten “0”, “1”, ..., “255” korrespondieren und als unterschiedliche<br />

Instanzen aus der Klasse “Character” instanziierbar sind.<br />

Die darstellbaren Zeichen wie z.B. “a”, “1”, “F”, “:” oder “⊔” lassen sich in der<br />

folgenden Form angeben:<br />

ˆ $<br />

Darstellbare Zeichen sowie nicht-darstellbare Zeichen wie z.B. das Tabulator-Zeichen<br />

können unter Einsatz der Basis-Methode “asCharacter” erzeugt werden.<br />

ˆ “asCharacter”:<br />

Als Empfänger-Objekt der Message “asCharacter” muß eine Zahl mit einem<br />

ganzzahligen Wert aufgeführt werden, der zwischen “0” und “255” liegt.<br />

Als Ergebnis-Objekt resultiert dasjenige Zeichen, dessen zugehöriger ASCII-<br />

Kodewert gleich dieser Zahl ist.<br />

Hinweis: Der ASCII-Kodewert der Ziffern liegt zwischen “48” und “57”.<br />

So ergibt sich z.B. das Zeichen “$C” als Ergebnis-Objekt der Message “67 asCharacter”<br />

oder das Tabulator-Zeichen als Ergebnis-Objekt der Message “9 asCharacter”.<br />

Hinweis: Aus dem Zeichen “$C” läßt sich durch die Message “$C asInteger” die ganze<br />

Zahl “67” als Ergebnis-Objekt ermitteln.<br />

Zur Wandlung von Zeichen können z.B. ferner die Basis-Methoden “asLowerCase” (Umwandlung<br />

in Kleinbuchstaben), “asUppercase” (Umwandlung in Großbuchstaben) und “as-<br />

String” (Darstellung als String mit einem Zeichen) eingesetzt werden.<br />

Für Instanzen der Klasse “Character” stehen neben der Methode “=”, mit der die<br />

Gleichheit zweier Zeichen geprüft werden kann, zusätzlich die Basis-Methoden “∼=”<br />

(ungleich), “>=” (größer oder gleich), “

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!