回答編集履歴
10
表現の訂正
test
CHANGED
@@ -192,7 +192,7 @@
|
|
192
192
|
|
193
193
|
|
194
194
|
|
195
|
-
システムを管理させるデータというのはステータスなどの具体的な値ではなく、`Unit`オブジェクトではないでしょうか。
|
195
|
+
システムを管理させるデータというのはステータスなどの具体的な値ではなく、どちらかというと`Unit`オブジェクトだとか、何かしらのオブジェクトではないでしょうか。
|
196
196
|
|
197
197
|
|
198
198
|
|
9
誤字
test
CHANGED
@@ -172,7 +172,7 @@
|
|
172
172
|
|
173
173
|
|
174
174
|
|
175
|
-
これ等5点を見て思うのは、オブジェクト指向っぽいというよりかは**継承という機能のメリットを説明している**ように見えます。
|
175
|
+
これ等5点を見て思うのは、オブジェクト指向っぽいというよりかは**継承という機能のメリットを説明している**ように見えます。なので、継承がオブジェクト指向の全てではないことは認識しておくと良いかもしれません。
|
176
176
|
|
177
177
|
|
178
178
|
|
8
インタフェースにアクセス修飾子がついているので取った
test
CHANGED
@@ -80,9 +80,9 @@
|
|
80
80
|
|
81
81
|
```Java
|
82
82
|
|
83
|
-
|
83
|
+
interface IAutoFightable{
|
84
|
-
|
84
|
+
|
85
|
-
|
85
|
+
void AutoFight();
|
86
86
|
|
87
87
|
}
|
88
88
|
|
7
表現の訂正
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
ただ、あくまで「個人的に」なので「ゴブリンは絶対NPC」という思想の元でクラス設計をされているのであれば、次に紹介する「気になった点を解決する」欄はスルーしても構いません。
|
51
|
+
ただ、あくまで「個人的に違和感を感じている」だけなので「ゴブリンは絶対NPC」という思想の元でクラス設計をされているのであれば、次に紹介する「気になった点を解決する」欄はスルーしても構いません。
|
52
52
|
|
53
53
|
|
54
54
|
|
6
表現の訂正
test
CHANGED
@@ -146,7 +146,7 @@
|
|
146
146
|
|
147
147
|
|
148
148
|
|
149
|
-
そうすると`Fight`メソッドで**enemyの
|
149
|
+
そうすると`Fight`メソッドで**enemyに保持されているインスタンスの型を知らないで実装を作ることができる**ので作りやすくなります。
|
150
150
|
|
151
151
|
このように抽象クラスやインタフェースに対してプログラミングすることを「ポリモーフィズム」と言います。
|
152
152
|
|
5
誤字
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
継承はIS-A関係なので、文章にすると「Goblin is NPC」になります。
|
41
|
+
継承はIS-A関係なので、文章にすると「Goblin is a NPC」になります。
|
42
42
|
|
43
43
|
つまり「ゴブリンは絶対にNPC」という確固たる性質を持ってしまうわけなので、個人的に違和感があります。
|
44
44
|
|
4
スペルミス修正とマークダウンの修正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
1点目、UnitとNpcUnitとBattleNpcUnitは抽象クラスであったほうが良いと思います。
|
29
|
+
1点目、`Unit`と`NpcUnit`と`BattleNpcUnit`は抽象クラスであったほうが良いと思います。
|
30
30
|
|
31
31
|
|
32
32
|
|
@@ -88,7 +88,7 @@
|
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
public class Gob
|
91
|
+
public class Goblin extends BattleUnit implements IAutoFightable{
|
92
92
|
|
93
93
|
public void AutoFight(){
|
94
94
|
|
@@ -140,13 +140,13 @@
|
|
140
140
|
|
141
141
|
|
142
142
|
|
143
|
-
Gob
|
143
|
+
`Goblin`に`BattleNpcUnit`を継承させた場合は、上記の`Fight`メソッドの引数に渡すことができます。
|
144
|
-
|
144
|
+
|
145
|
-
Gob
|
145
|
+
`Goblin`クラスで`AutoFight`メソッドをオーバーライドした場合は、`Gobrin`独自の戦闘が行えます。(パーティー戦ならあるプレイヤーだけ一人狙いするとかがあるかもしれません)
|
146
|
-
|
147
|
-
|
148
|
-
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
-
そうするとFightメソッドで**enemyの具体的な型を知らないで実装を作ることができる**ので作りやすくなります。
|
149
|
+
そうすると`Fight`メソッドで**enemyの具体的な型を知らないで実装を作ることができる**ので作りやすくなります。
|
150
150
|
|
151
151
|
このように抽象クラスやインタフェースに対してプログラミングすることを「ポリモーフィズム」と言います。
|
152
152
|
|
@@ -192,7 +192,7 @@
|
|
192
192
|
|
193
193
|
|
194
194
|
|
195
|
-
システムを管理させるデータというのはステータスなどの具体的な値ではなく、Unitオブジェクトではないでしょうか。
|
195
|
+
システムを管理させるデータというのはステータスなどの具体的な値ではなく、`Unit`オブジェクトではないでしょうか。
|
196
196
|
|
197
197
|
|
198
198
|
|
3
誤字
test
CHANGED
File without changes
|
2
誤字
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
ただ、あくまで「個人的に」なので「ゴブリンは絶対NPC」という思想の元でクラス設計をされているのであれば、
|
51
|
+
ただ、あくまで「個人的に」なので「ゴブリンは絶対NPC」という思想の元でクラス設計をされているのであれば、次に紹介する「気になった点を解決する」欄はスルーしても構いません。
|
52
52
|
|
53
53
|
|
54
54
|
|
1
抽象クラスであるべきクラスが一つ抜けていたので追加
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
1点目、UnitとNpcUnitは抽象クラスであったほうが良いと思います。
|
29
|
+
1点目、UnitとNpcUnitとBattleNpcUnitは抽象クラスであったほうが良いと思います。
|
30
30
|
|
31
31
|
|
32
32
|
|