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