Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imachange/d11267295ce1fdbfe3ac36b84aec7e84 to your computer and use it in GitHub Desktop.
Save imachange/d11267295ce1fdbfe3ac36b84aec7e84 to your computer and use it in GitHub Desktop.

第1章 Iterator

  • Iterator(反復子)
    • 順番に走査するインターフェイス。
    • サンプルプログラムではIterator<E>
      • 次の要素があるかどうか -> hasNextメソッド。
      • 次の要素を得る -> nextメソッド。
  • ConcreteIterator(具体的な反復子)
    • Iteratorが定めたインターフェイスを実際に実装する部位。
    • サンプルプログラムではBookShelfIterator
  • Aggregate(集合体)
    • Iteratorを生成するためのインターフェイス。
    • サンプルプログラムではIterator<E>
      • iteratorメソッド。
  • ConcreteAggregate(具体的な集合体)
    • Aggregateが定めたインターフェイスを実際に実装する部位。
    • サンプルプログラムではBookshelf

要点

  • 拡張for文を使うとIteratorは実装しやすくなる。
  • 抽象クラスやインターフェイスでプログラミングする。

第2章 Adaptor

  • AdaptorはWrappaerとも呼ばれる。
    • ラッパークラスとかのラッパーと同じ?
  • Adaptorには継承と移譲の二通りがある。

継承と移譲の二通りをざっくりさらった。

課題

  • 練習問題をどうするか。
    • オンラインのJavaコンパイラでは練習問題が動かなくね...?
    • 各自の環境に構築する?
      • ちょっとハードル高くね?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment