PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

Iterator

 Iteratorとは、オブジェクト指向プログラミングにおいてギャング・オブ・フォーにより提案された23種類の公式であるデザインパターンの1つです。このデザインパターンはオブジェクトの振る舞いに関係するパターンです。
 Iteratorパターンは、一言でまとめると、ある集合体のオブジェクト群の中で集合体の要素1つ1つに順次アクセスすることを可能とするパターンです。このIteratorは「繰り返す」という意味の言葉であり、このパターン自体がデータの繰り返しである配列と似ています。配列データは0,1,2,…と要素数順にアクセスします。用途としては、例えば複数のキャラクターが登場するゲームで一斉に処理を行う必要がある場合に一連のオブジェクト群を内包し、一括して描画や更新、その他処理を行う場合に用いることができます。配列とは異なり、各要素が前後の要素のみを把握できており、後から追加もできるという柔軟な対応ができます。
 Iteratorパターンでは、Iteratorのオブジェクトを内包できるオブジェクト(Aggregiateクラス)を用意します。Aggregiateクラスでは、要素であるIteratorのオブジェクトを複数持つことができるようにします。Aggregiateクラスにアクセスし要素の追加を行う時に、新しい要素のことを最後の要素に把握させ、オブジェクトが連なるようにします。これらに順次アクセスする時には、最初の要素にアクセスする時、「次」があるかを確認してから、次の要素にアクセスしていき、次の要素が存在しなくなれば終了というわけです。呼び出し元は順番などを管理する必要はありません。

用語集一覧へ戻る