03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

Methode “mK1” der Klasse “K3” ausgeführt wird.<br />

Ist das Empfänger-Objekt der Message “mK” aus der Klasse “K2” instanziiert,<br />

so werden die Anforderungen “anforderungen1” und “anforderungen2” ausgeführt.<br />

Handelt es sich beim Empfänger-Objekt dagegen um eine Instanz der Klasse “K3”,<br />

so werden die Anforderungen “anforderungen1” und “anforderungen3” zur Ausführung<br />

gebracht.<br />

Hinweis: In den abstrakten Klassen des Basis-Systems sind häufig Methoden-Vereinbarungen<br />

enthalten, in denen darauf hingewiesen wird, daß bestimmte Methoden innerhalb<br />

untergeordneter Klassen festgelegt sind.<br />

Zum Beispiel ist innerhalb der abstrakten Klasse “Number” die Vereinbarung der binären<br />

Methode “+” in der Form<br />

+ aNumber<br />

∧ self implementedBySubclass<br />

– unter Einsatz der Basis-Methode “implementedBySubclass” aus der Klasse “Object” –<br />

festgelegt. Sie besagt, daß innerhalb ihrer Unterklassen jeweils eine eigene Methode “+”<br />

vereinbart sein muß. Dies ist deswegen erforderlich, weil die Addition zweier Zahlen stets<br />

von der Klasse abhängig ist, zu der die jeweiligen Zahlen gehören.<br />

Betrachten wir z.B. den Ausschnitt<br />

Object<br />

Magnitude<br />

Character<br />

Number<br />

Float<br />

Fraction<br />

Integer<br />

LargeNegativeInteger<br />

LargePositiveInteger<br />

SmallInteger<br />

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

aus der Klassen-Hierarchie, so handelt es sich bei den Klassen “Magnitude”, “Number”<br />

und “Integer” um abstrakte Klassen.<br />

Die Klasse “Magnitude” ist die Oberklasse aller Klassen, deren Instanzen untereinander<br />

verglichen und geordnet werden können. In der Klasse “Magnitude” sind<br />

Basis-Methoden festgelegt, durch deren Einsatz sich Zahlen, d.h. Instanzen aus den<br />

der Klasse “Number” untergeordneten Basis-Klassen, und Zeichen, d.h. Instanzen<br />

aus der Basis-Klasse “Character”, vergleichen lassen.<br />

Die Basis-Klasse “Number” enthält unter anderem Methoden, die sich auf beliebige<br />

numerische Größen anwenden lassen, während es sich bei der Klasse “Integer” um<br />

die direkte Oberklasse ganzzahliger Zahlenwerte handelt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!