Java Reference
In-Depth Information
Iterator
+ hasNext() : boolean
+ next () : Object
Datenstruktur
Bild 4-55 Trennung von Iterator und der zu durchquerenden Datenstruktur
Die in Bild 4-55 gezeigte Schnittstelle eines Iterators ist quasi minimal 68 . Die Schnitt-
stelle kann von Anwendung zu Anwendung oder von Datenstruktur zu Datenstruktur
variieren. Beispielsweise kann ein Iterator auch Methoden zum Zurücksetzen auf das
vorherige Element oder zum Finden eines bestimmten Elements anbieten. Ein Iterator
kann aber auch mit einer Methode remove() so erweitert werden, dass er die Objekte
der Datenstruktur löschen kann.
4.17.3.1 Klassendiagramm
Da die hier besprochenen externen Iteratoren mit sequenziellem Zugriff alle die
gleiche Schnittstelle haben, wird ein Interface IIterator eingeführt, das von allen
konkreten Iteratoren implementiert werden muss. Im folgenden Klassendiagramm wird
aus Gründen der Übersichtlichkeit nur ein einziger konkreter Iterator gezeigt:
«interface»
IDatenstruktur
«interface»
IIterator
+ next() : Element
+ hasNext() : boolean
Client
+ erzeugeIterator() : IIterator
«Create»
Datenstruktur
KonkreterIterator
+ next() : Element
+ hasNext() : boolean
+ erzeugeIterator() : IIterator
*
Element
+ operation()
Bild 4-56 Klassendiagramm des Iterator-Musters
68 Theoretisch könnten die beiden Methoden der Schnittstelle noch zu einer einzigen verschmolzen
werden.
Search WWH ::




Custom Search