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.

9.5 Methodenübersicht 197<br />

VarSort := SortedCollection new.<br />

VarSort add: 2; add: 1; add: 3.<br />

VarSort := VarSort sortBlock: [:x :y| x >= y]<br />

Sollen die in einer Instanz “VarOrd” von “OrderedCollection” gesammelten Objekte<br />

sortiert werden, so können wir dazu die Message “asSortedCollection” einsetzen. Soll<br />

dabei nicht die voreingestellte aufsteigende Sortierfolgeordnung gelten, so kann die<br />

Keyword-Message “asSortedCollection:” mit dem Sortier-Block “[ :x :y | x >= y ]”<br />

– als Argument – z.B. in der folgenden Form eingesetzt werden:<br />

VarSort := VarOrd asSortedCollection: [:x :y| x >= y]<br />

Es lassen sich auch Instanzen der Klasse “Array” derart innerhalb einer Instanz<br />

der Klasse “SortedCollection” sammeln, daß eine absteigende Sortierung nach der<br />

Größe der gesammelten Arrays erfolgt.<br />

Dies zeigen die Anforderungen<br />

VarSort := SortedCollection sortBlock: [:x :y|x size >= y size].<br />

VarSort add: #(’eins’ ’zwei’); add: #(1 2 3); yourself<br />

die zum Ergebnis-Objekt “SortedCollection((1 2 3)(’eins’ ’zwei’))” führen.<br />

Zum Erstellen einer “SortedCollection”, in der eine aufsteigende Sortierung nach<br />

der Größe des zweiten Objekts innerhalb der gesammelten Arrays vorgenommen<br />

wird, können wir z.B. die folgenden Anforderungen stellen:<br />

VarArray := Array new: 2.<br />

VarArray at: 1 put: #(1 2 3).<br />

VarArray at: 2 put: #(100 200 300).<br />

VarArray asSortedCollection: [:x :y|(x at: 2) >= (y at: 2)]<br />

Als Ergebnis-Objekt wird in diesem Fall<br />

SortedCollection((100 200 300) (1 2 3))<br />

erhalten.<br />

9.5 Methodenübersicht<br />

Um eine Aussage über die Funktion einer Methode zu machen, können die innerhalb<br />

einer Klasse verabredeten Instanz- und Klassen-Methoden in die folgenden Arten<br />

eingeteilt werden:<br />

ˆ Konstruktor-Methoden, die zur Instanziierung von Objekten dienen;<br />

ˆ Destruktor-Methoden zum Löschen von Objekten;<br />

ˆ Verbindungs-Methoden, mit denen Objekte ergänzt bzw. erweitert werden<br />

können;

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!