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.

148 8 Klassen und Meta-Klassen<br />

Einen Einblick davon, welche Oberklassen von “Bag” existieren, vermittelt der folgende<br />

Ausschnitt aus der Klassen-Hierarchie des <strong>SMALLTALK</strong>-Systems:<br />

Object<br />

Behavior<br />

Class<br />

...<br />

MetaClass<br />

Collection<br />

Bag<br />

Set<br />

Abbildung 8.2: Ausschnitt aus der Klassen-Hierarchie<br />

Hieraus ist erkennbar, daß “Behavior” und “Collection” direkte Unterklassen von<br />

“Object” sind, die auf derselben Hierarchiestufe angeordnet sind. Ferner ist diesem<br />

Ausschnitt zu entnehmen, daß “Class” und “MetaClass” auf derselben Hierarchiestufe<br />

angesiedelt und der Klasse “Behavior” direkt untergeordnet sind. Entsprechendes<br />

gilt für “Bag” und “Set” als direkte Unterklassen von “Collection”.<br />

Die Klasse “Object”<br />

Da die Klasse “Object” die einzige Klasse ist, die der Klasse “Collection” übergeordnet<br />

ist, sind sämtliche einsetzbaren Methoden für Instanzen der Klasse “Bag” genau<br />

die Methoden, die innerhalb von “Bag” zur Verfügung stehen, sowie alle diejenigen<br />

Methoden, die in den Klassen “Collection” und “Object” vereinbart sind.<br />

Hinweis: Einen Überblick über die Messages, die Bags und anderen Sammlern geschickt<br />

werden können, geben wir im Kapitel 9.<br />

ˆ Die Klasse “Object” stellt die Wurzel der gesamten Klassen-Hierarchie dar.<br />

Sie besitzt keine übergeordnete Klasse, und alle Basis-Klassen sowie sämtliche<br />

neu vereinbarten Klassen sind dieser Klasse untergeordnet. Daher sind<br />

z.B. alle Methoden, die innerhalb der Klasse “Object” festgelegt sind, für alle<br />

Instanzen verfügbar, die aus einer Basis-Klasse oder einer neu aufgebauten<br />

Klasse eingerichtet werden.<br />

Beispiele für Methoden, die innerhalb der Basis-Klasse “Object” vereinbart sind,<br />

stellen z.B. die folgenden Basis-Methoden dar:<br />

ˆ “isMemberOf:”:<br />

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

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

Klasse eingerichtet wurde, die als Argument von “isMemberOf:” aufgeführt<br />

ist.<br />

Hinweis: Zum Beispiel ist das Ergebnis-Objekt der Anforderung<br />

WerteErfassung11 isMemberOf: WerteErfassung<br />

die Pseudovariable “true”, sofern “WerteErfassung11” zuvor durch

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!