
you are here
325
9
章
Iterator
パターンと
Composite
パターン
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
1 2 3 4
ArrayList
MenuItem
の
ArrayList
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
M
e
n
u
I
t
e
m
1
2
3
4
配列
MenuItem
の配列
for (int i = 0; i < breakfastItems.size(); i++) {
MenuItem menuItem = breakfastItems.get(i);
}
for (int i = 0; i < lunchItems.length; i++) {
MenuItem menuItem = lunchItems[i];
}
反復処理をカプセル化できる?
この本で何か
1
つのことを学んできたとしたら、それは変更される部分のカプ
セル化です。今回は、変化する部分は明白です。それは、メニューから返される
さまざまなオブジェクトコレクションに対して行う反復処理です。しかし、これ
をカプセル化できるでしょうか?
そのためのアイデアを考えてみましょう。
1
朝食のメニュー項目に対して反復処理を行うには、
ArrayList
の
size()
メソッドと
get()
メ
ソッドを使います。
2
そして、昼食のメニュー項目に対して反復処理を行うには、
MenuItem
配列の
length
フィールドと配列のインデックスを使います。