
you are here
323
9
章
Iterator
パターンと
Composite
パターン
1
3
2
各メニューのすべての項目を出力するには、
PancakeHouseMenu
と
DinerMenu
の
getMenuItem()
メソッドを呼び出し、それぞれのメニュー項
目を取得する必要があります。それぞれが異なる型を返すことに注意しま
しょう。
PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu();
ArrayList<MenuItem> breakfastItems = pancakeHouseMenu.getMenuItems();
DinerMenu dinerMenu = new DinerMenu();
MenuItem[] lunchItems = dinerMenu.getMenuItems();
次に、
PancakeHouseMenu
からメニュー項目を出力するには、
ArrayList
である
breakfastItems
の項目をループします。食堂のメニュー項目を出力するには、配列を
ループします。
ウェイトレスの他のメソッドの実装は、すべてこの方法の応用になります。常に食
堂とパンケーキハウス両方のメニューを取得し、
2
つのループを使ってそれぞれの
メニュー項目を反復処理する必要があります。別の実装を持つレストランと合併し
たら、3つのループを持つことになってしまいます。
for (int i = 0; i < breakfastItems.size(); ...