Java Reference
In-Depth Information
KonkreterIterator
Die Klasse KonkreterIterator implementiert das Interface IIterator und ver-
waltet die aktuelle Position beim Durchqueren der Datenstruktur. Diese Klasse steht
stellvertretend für verschiedene Klassen von konkreten Iteratoren, die zur Daten-
struktur passen.
IDatenstruktur
Das Interface IDatenstruktur definiert den Kopf der Methode erzeugeItera-
tor() zum Erzeugen eines Iterators.
Datenstruktur
Die Klasse Datenstruktur implementiert die Methode erzeugeIterator() , die
vom Interface IDatenstruktur vorgegeben ist. Die Methode erzeugeIterator()
gibt ein Objekt der zu der Klasse Datenstruktur passenden Klasse Konkreter-
Iterator zurück.
Element
Die Klasse Element ist die Basisklasse aller Klassen, deren Objekte in der Daten-
struktur vorkommen können. Die Methode operation() steht stellvertretend für Ope-
rationen, die ein Client auf allen Elementen der Datenstruktur ausführen kann.
4.17.3.3 Dynamisches Verhalten
Ein Client möchte eine Operation auf jedem Element einer Datenstruktur ausführen,
kennt aber den Aufbau der Datenstruktur nicht. Die Datenstruktur erzeugt auf Anfrage
durch den Client in der Methode erzeugeIterator() einen für diese Datenstruktur
speziell implementierten Iterator und gibt diesen an den Client zurück. Alle weiteren
Operationen, die das Traversieren der Datenstruktur betreffen, werden über den
Iterator durchgeführt und nicht direkt auf der Datenstruktur selbst.
Der Client kann nun in einer Schleife durch Aufruf der Methode next() sich vom
Iterator das nächste Element der Datenstruktur besorgen und die gewünschte Opera-
tion auf diesem Element ausführen - hier angedeutet durch den Aufruf einer Methode
operation() . Die Schleife bricht ab, wenn der Aufruf der Methode hasNext() beim
Iterator-Objekt als Ergebnis false liefert.
Das folgende Bild zeigt das Sequenzdiagramm für das Iterator-Muster:
Search WWH ::




Custom Search