| Iterator | [ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |
Beschreibung | ||
Um das Iterator-Pattern besser zu veranschaulichen, werden wir es an einem konkreten
Anwendungsfall erläutern: Zu Traversieren ist eine einfach verkettete
Liste von der Klasse
Um jetzt noch für eine Liste einen Iterator zu erzeugen, wir in der Schnittstelle aliste eine Operation erzeugeIterator() definiert. Diese Operation erzeugt einen
neuen Iterator und übergibt eine Referenz auf die zu traversierende Liste, also
auf das erste Listenelement welches Daten und eine Referenz auf des nächste
Listenelement beinhaltet.
Der neu erzeugte Iterator l_iterat ist Unterklasse der abstrakten Klasse
Iterator . In dieser Klasse werden folgende abstrakte
Operationen vordefiniert:
Wenn man jetzt das ListenIterator-Exemplar hat, kann man nacheinander auf die Elemente des zusammengesetzten Objektes zugreifen. Wie bereits erwähnt, ermöglicht uns die Trennung vom Traversierungsmechanismen das Definieren von verschiedenen Iteratoren für unterschiedliche Traversierungsarten. |
[ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |