回答編集履歴
2
追記
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
なんて話にはならない.
|
13
13
|
|
14
|
-
●Noであれば,「墓地にカードを加える処理」というのは,「その他の対象にカードを加える処理」とは別の実装がされているということであり,
|
14
|
+
●Noであれば,「墓地にカードを加える処理」というのは,「その他の対象にカードを加える処理」とは別の実装がされているということ(Position型.AddCard()を呼ぶのではなく,墓地型.AddCard()を呼ぶコードになっている)であり,
|
15
15
|
であれば,「墓地」とその他に共通のインタフェースを持たせる必要性は無い.
|
16
16
|
「墓地」とその他は,その内部で具体実装において,ある共通のコードを利用するかもしれないが,それだけの関係.
|
17
17
|
そういった「あるコードを使い回す手段」として「継承」を用いる必要はないし,用いるべきでもないと思う.
|
1
補足追記
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
> カードを追加、カードを取り除く、その場所のカードを取得等
|
4
4
|
|
5
|
-
の処理というのは,
|
5
|
+
の処理(e.g. 「墓地」や「山札」や「手札」のAddCard()メソッドを呼ぶ側の処理)というのは,
|
6
6
|
「墓地」とその他(山札とか)を,区別せずに扱う実装(すなわち,Position型への操作としての実装)が成されるのでしょうか?
|
7
7
|
|
8
8
|
●Yesであれば,「墓地」とその他は同一のインタフェースでなければ困るわけだし,「カードを追加」を行う場所では「対象が「墓地」なのか違うのか」を知らないハズなのだから,
|