Iterator to wzorzec należący do grupy wzorców czynnościowych, jego głównym zadaniem jest zapewnienie sekwencyjnego dostępu do kolekcji obiektów zawartej w większym obiekcie. Celem zastosowania tego wzorca jest dostarczenie interfejsu dostępu do elementów obiektu bez konieczności przedstawienia jego struktury.
Przykładowy interfejs iteratora:
interface Iterator {
// Czy nawiera następny obiekt
public boolean hasNext();
// Zwraca następny obiekt
public Object next();
}
Przykładowa klasa dostarczająca Iterator:
class Obiekty {
private static final int ILOSC_OBIEKTOW = 10;
private Obiekt [] obiekty = new Obiekt[Obiekty.ILOSC_OBIEKTOW];
public Obiekty() {
for (int i=0; i<Obiekty.ILOSC_OBIEKTOW; i++) {
obiekty[i] = new Obiekt(i);
}
}
public Iterator getIterator() {
return new ObiektIterator(this.obiekty);
}
private class ObiektIterator implements Iterator {
private Obiekt [] obiekty;
public boolean hasNext() {
}
public Object next() {
}
}
}
Komentarze
Dodaj nowy komentarz