回答編集履歴
2
追記
test
CHANGED
@@ -20,6 +20,20 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
+
**追記:**
|
24
|
+
|
25
|
+
マネージャが文字通り部活動のマネージャーを指しているのですね。
|
26
|
+
|
27
|
+
それだったら後者の方が素直な設計な気がします。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
あるいは、回復量を返すメソッドをManagerに用意するのもありです。
|
32
|
+
|
33
|
+
この場合、Hero#addHPをプライベートメソッドに出来るというメリットがあります。
|
34
|
+
|
35
|
+
|
36
|
+
|
23
37
|
---
|
24
38
|
|
25
39
|
> 一応、HeroクラスのHPとaddHPメソッドをstaticにしてみると、Hero.addHP(40);でエラーは消えましたが、これでは、Mainクラスでインスタンス化した(Hero)hの体力が回復するわけではないですよね?
|
1
追記
test
CHANGED
@@ -17,3 +17,21 @@
|
|
17
17
|
どちらが良いかは設計に依ります。
|
18
18
|
|
19
19
|
Managerが何のマネージャかわからないので、私には選べません。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
> 一応、HeroクラスのHPとaddHPメソッドをstaticにしてみると、Hero.addHP(40);でエラーは消えましたが、これでは、Mainクラスでインスタンス化した(Hero)hの体力が回復するわけではないですよね?
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
回復しますよ。
|
30
|
+
|
31
|
+
ただ、ヒーローが複数いた場合、彼らのHPが全て共有されてしまいます。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
staticをむやみに使うことはオブジェクト指向に反します。
|
36
|
+
|
37
|
+
よく分からないで使っているのなら、やめといた方がいいです。
|