回答編集履歴

3

追記

2017/11/22 15:06

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -42,6 +42,40 @@
42
42
 
43
43
 
44
44
 
45
+ ついでに
46
+
47
+ ---
48
+
49
+ ちょっと気になったことを。
50
+
51
+ - **setterは出来るだけ作らない**
52
+
53
+ アクセッサはアクセスを必要最低限に制限するためにあるので、出来るだけ絞った方が良いです。
54
+
55
+
56
+
57
+ ||ゲッター|セッター|
58
+
59
+ |:--|:--:|:--:|
60
+
61
+ |外部から参照されない|x|x|
62
+
63
+ |外部から参照される|o|x|
64
+
65
+ |外部から変更される必要がある|o|o|
66
+
67
+
68
+
69
+
70
+
71
+ - **必要に応じて抽象的なクラスを導入する**
72
+
73
+ まだクラスの継承について学習していないのかもしれませんが。
74
+
75
+ 現状勇者がマタンゴ以外と戦えないので、Monsterクラスがあるといいですね。
76
+
77
+
78
+
45
79
  質問の仕方について
46
80
 
47
81
  ---

2

追記

2017/11/22 15:06

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -1,6 +1,26 @@
1
1
  attackの戻り値がないのに、getAttackでそれを返そうとしているからです。
2
2
 
3
3
  > ```Java
4
+
5
+ > private void attack(Matango m){
6
+
7
+ > System.out.println(this.name + "の攻撃!");
8
+
9
+ > System.out.println("切りつける!");
10
+
11
+ > m.getHp(); // ← これも不要
12
+
13
+ > System.out.println(m.getName() + "に5ポイントのダメージ!");
14
+
15
+ > System.out.println("HP:" + m.getHp());
16
+
17
+ > }
18
+
19
+
20
+
21
+ > ...
22
+
23
+
4
24
 
5
25
  > public String getAttack(Matango m){return this.attack(m);}
6
26
 

1

追記

2017/11/22 14:58

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -17,3 +17,15 @@
17
17
 
18
18
 
19
19
  getAttackというメソッドは不要です。外部からattackを直接呼び出して良いでしょう。
20
+
21
+ その場合、attackのアクセス修飾子をprivateでなくす必要はありますが。
22
+
23
+
24
+
25
+ 質問の仕方について
26
+
27
+ ---
28
+
29
+ teratailには、上記のようにコードを見やすく表示する機能があります。
30
+
31
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。