teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

自販機の例について解説を追加

2017/11/21 13:02

投稿

LLman
LLman

スコア5592

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」と「DrinkB」という**実装クラスも消し**ています。
67
+ **IF文を消し**ているし、「DrinkA/B」という**実装クラスも消し**ています。
64
68
  これで、IF文で分岐して、newをベタ書きするのに比べて、**メンテナンス**しやすくなります。
65
69
 
66
70
  なぜなら、**インターフェイスで実装から分離**されているので、