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.

8.1 Meta-Klassen und Klassen-Methoden 149<br />

WerteErfassung11 := WerteErfassung new<br />

eingerichtet wurde.<br />

ˆ “isKindOf::<br />

Das Ergebnis-Objekt der Message “isKindOf:” ist gleich der Pseudovariablen<br />

“true” (“false”), sofern das Empfänger-Objekt (nicht) als Instanz derjenigen<br />

Klasse oder Unterklasse eingerichtet wurde, die als Argument von “isKindOf:”<br />

aufgeführt ist.<br />

ˆ “isClass”:<br />

Das Ergebnis-Objekt der Message “isClass” ist gleich der Pseudovariablen<br />

“true” (“false”), sofern das Empfänger-Objekt (nicht) Bestandteil der Klassen-<br />

Hierarchie ist.<br />

Hinweis: Zum Beispiel ist die Pseudovariable “true” das Ergebnis-Objekt der Message<br />

“WerteErfassung isClass”.<br />

ˆ “class”:<br />

Das Ergebnis-Objekt der Message “class” ist gleich der Klasse, aus der das<br />

Empfänger-Objekt instanziiert wurde.<br />

Hinweis: Zum Beispiel ergibt sich die Klasse “WerteErfassung” als Ergebnis-Objekt<br />

der Message “WerteErfassung11 class”.<br />

Der Begriff der “Meta-Klasse”<br />

Um uns über die Gesamtheit der innerhalb der Basis-Klasse “Object” vereinbarten<br />

Methoden zu informieren, läßt sich der Klassen-Hierarchie-Browser einsetzen. Sofern<br />

“Object” als aktuelle Klasse eingestellt ist, werden die Selektoren der vorhandenen<br />

Basis-Methoden im Methoden-Bereich des Klassen-Hierarchie-Browser-Fensters angezeigt.<br />

Hinweis: Wir setzen dabei voraus, daß das Optionsfeld “instance” im Instanzen-/ Klassen-<br />

Bereich des Klassen-Hierarchie-Browser-Fensters aktiviert ist.<br />

Unter den angezeigten Methoden ist die Methode “new”, die von uns zur Einrichtung<br />

einer Instanz verwendet wurde, nicht aufgeführt. Entsprechend läßt sich z.B.<br />

auch für die Basis-Klassen “Bag” und “Set”, die der Basis-Klasse “Object” untergeordnet<br />

sind, feststellen, daß in ihnen keine Methode namens “new” vereinbart ist.<br />

Daß die Methode “new” in diesen Klassen nicht aufgefunden werden kann, ist nicht<br />

verwunderlich, da die Message “new” keiner Instanziierung einer Klasse, sondern<br />

stets der Klasse selbst zugestellt wurde.<br />

Hinweis: Zum Beispiel haben wir durch “Bag new” einen neuen Bag und durch “WerteErfassung<br />

new” einen neuen Erfassungsprozeß eingerichtet.<br />

Da Messages sich stets an Objekte richten, sind die von uns verwendeten Messages<br />

mit dem Selektor “new” nur sinnvoll, weil die folgende Konvention besteht:<br />

ˆ Jede Klasse der Klassen-Hierarchie stellt ein Objekt dar.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!