
you are here
339
9
章
Iterator
パターンと
Composite
パターン
hasNext()
next()
remove()
<<interface>>
Iterator
hasNext()
next()
remove()
ConcreteIterator
createItera
tor()
<<interface>>
Aggregate
createIterator()
ConcreteAggregate
Client
ConcreteAggregate
は
オブジェクトのコレクショ
ンを持ち、そのコレクショ
ン用のイテレータを返すメ
ソッドを実装します。
ConcreteAggregate
は、オブジェクトのコ
レクションに対して反
復処理を実行できる
ConcreteIterator
をイン
スタンス化する責務があ
ります。
Iterator
インタフェース
には、すべてのイテレー
タが実装する必要のあ
るインタフェースと、コ
レクションの要素を走査
するための一連のメソッ
ドがあります。ここで
は
java.util.Iterator
を
使っています。
Java
の
Iterator
インタフェース
を使いたくない場合は、
いつでも独自のイテレー
タを作成できます。
アグリゲート用の共通インタフェースがあると、
クライアントにとっては便利です。このインタ
フェースにより、クライアントをオブジェクトコ
レクションの実装から分離します。
ConcreteIterator
は、反
復処理の現在位置を管理す
る責務があります。
すべての要素が入ったクラス図を確認しましょう。 ...