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.

298 14 Langfristige Sicherung von Objekten<br />

Bestätigen wir in dieser Situation – nach der Markierung von “InWerteErfassung11”<br />

– die Menü-Option “Show It”, so erhalten wir für “InWerteErfassung11” die Anzeige<br />

InWerteErfassung Inhalt von werteBag: 32 37<br />

sofern die Punktwerte “32” und “37” gesammelt worden sind.<br />

Weitere Methoden zur Bearbeitung von Datenströmen<br />

In der oben vorgestellten Vereinbarung der Methode “printString” wurde die Anforderung<br />

“WriteStream on: aString” verwendet. Durch deren Bearbeitung wird<br />

ein Datenstrom als Instanziierung der Basis-Klasse “WriteStream” eingerichtet. Da<br />

“aString” stellvertretend für eine Instanz der Klasse “String” steht, ist bestimmt,<br />

daß der Datenstrom aus Zeichenketten aufgebaut werden soll.<br />

ˆ “on:”:<br />

Wird die Message “on:” der Klasse “WriteStream” zugestellt, so wird ein<br />

Datenstrom in Form einer Instanz aus der Klasse des Empfänger-Objekts<br />

eingerichtet, der auf dem als Argument angegebenen geordneten Sammler<br />

basiert.<br />

Die Klassen-Methode “on:” steht nicht nur für die Basis-Klasse “WriteStream”,<br />

sondern auch für die Basis-Klassen “ReadStream” und “ReadWriteStream” zur<br />

Verfügung, die in der folgenden Weise der abstrakten Klasse “Stream” untergeordnet<br />

sind:<br />

Object<br />

Stream<br />

ReadStream<br />

WriteStream<br />

ReadWriteStream<br />

Diese Klassen unterscheiden sich im Hinblick auf die Möglichkeiten, wie auf die in<br />

den zugehörigen Datenströmen eingetragenen Objekte zugegriffen werden darf.<br />

Während auf einen Datenstrom aus der Klasse “ReadStream” nur lesend und auf<br />

einen Datenstrom der Klasse “WriteStream” nur schreibend zugegriffen werden<br />

kann, besteht bei einem Datenstrom der Klasse “ReadWriteStream” die Möglichkeit,<br />

sowohl lesend als auch schreibend zuzugreifen.<br />

Neben den zuvor bereits von uns eingesetzten Methoden “on:”, “pathName:”, “next-<br />

PutAll:”, “space”, “close”, “atEnd” und “nextWord” lassen sich – im Hinblick auf<br />

andere Formen von Anwendungen – z.B. auch die folgenden Methoden einsetzen,<br />

die jeweils von einem Datenstrom – als Empfänger-Objekt der korrespondierenden<br />

Messages – ausgeführt werden können:<br />

Hinweis: Durch “R” bzw. “W” wird gekennzeichnet, daß die betreffende Methode sinnvollerweise<br />

nur von einem Empfänger-Objekt aus der Klasse “ReadStream” bzw. “Write-<br />

Stream” verwendet werden kann. Grundsätzlich läßt sich jede Methode von einer Instanz<br />

der Klasse “ReadWriteStream” ausführen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!