回答編集履歴
1
自販機の例について解説を追加
answer
CHANGED
@@ -55,12 +55,16 @@
|
|
55
55
|
|
56
56
|
上記サンプルコードを説明しますと、**自動販売機**をイメージしています。
|
57
57
|
購入者(クライアント)クラスから、自販機(マシーン)クラスを利用します。
|
58
|
+
ボタンを押すと、お茶かコーヒーが出てくるだけの、簡単な例です。
|
58
59
|
|
59
60
|
さて、インターフェイスがどのような意味を持っているかというと、
|
60
61
|
まず、「select」メソッドは、**インターフェイス型の(参照する)値を返し**ます。
|
61
62
|
|
63
|
+
今回の例では「Bottle」がインターフェイスで、「DrinkA」「DrinkB」が、
|
64
|
+
インターフェイスに規定された「open」メソッドを実装しています。
|
65
|
+
|
62
66
|
これによって、利用側の購入者クラスから、
|
63
|
-
**IF文を消し**ているし、「DrinkA」と
|
67
|
+
**IF文を消し**ているし、「DrinkA/B」という**実装クラスも消し**ています。
|
64
68
|
これで、IF文で分岐して、newをベタ書きするのに比べて、**メンテナンス**しやすくなります。
|
65
69
|
|
66
70
|
なぜなら、**インターフェイスで実装から分離**されているので、
|