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

回答編集履歴

3

修正

2021/07/11 13:59

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  > 現状分類のみ行ないたいという状態のため、クラスにプロパティやメソッドが存在しない状態となってしまいました。(lombokによるコンストラクタの定義を除く)これは一般的に推奨されることなのでしょうか。
2
2
 
3
3
  **今後を見越す観点の回答**
4
- 確かに現時点ではHeroとEnermyの差分は無いんですけれど、
4
+ 確かに現時点ではHeroとEnemyの差分は無いんですけれど、
5
5
  それは今後の拡張で埋まっていくと思います。クラスを分けた方が良いでしょう。
6
6
 
7
7
  **質問に直球で答える回答**
@@ -12,8 +12,8 @@
12
12
  『複製が可能であると表明しているクラスのインスタンスだけ』受け付ける処理が書けます。
13
13
 
14
14
  ---
15
- ヒーローとエネミーについては分けるべきだと私は思いますが、
15
+ HeroEnemyエネミーについては分けるべきだと私は思いますが、
16
- 例えばEnermyクラスを特化させたSlimeクラスを作るべきか?と問われると少し迷います。
16
+ 例えばEnemyクラスを特化させたSlimeクラスを作るべきか?と問われると少し迷います。
17
17
 
18
18
  どっちが正解とも言いづらいケースも多いのです。
19
19
 

2

追記

2021/07/11 13:59

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -9,4 +9,13 @@
9
9
  インターフェースで表現することが多く、実際java.lang.Cloneableは空です。
10
10
 
11
11
  空のインターフェースを実現しても当然動作に変わりはありませんが、
12
- 『複製が可能であると表明しているクラスのインスタンスだけ』受け付ける処理が書けます。
12
+ 『複製が可能であると表明しているクラスのインスタンスだけ』受け付ける処理が書けます。
13
+
14
+ ---
15
+ ヒーローとエネミーについては分けるべきだと私は思いますが、
16
+ 例えばEnermyクラスを特化させたSlimeクラスを作るべきか?と問われると少し迷います。
17
+
18
+ どっちが正解とも言いづらいケースも多いのです。
19
+
20
+ 勉強目的であれば、練習も兼ねて両パターン試してみても良いかもしれません。
21
+ それぞれの長所と短所を体感できれば、ちょうど良い混ぜ具合が分かってくる筈です。

1

修正

2021/07/11 13:58

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,12 +1,12 @@
1
1
  > 現状分類のみ行ないたいという状態のため、クラスにプロパティやメソッドが存在しない状態となってしまいました。(lombokによるコンストラクタの定義を除く)これは一般的に推奨されることなのでしょうか。
2
2
 
3
- **今後を見越した回答**
3
+ **今後を見越す観点の回答**
4
4
  確かに現時点ではHeroとEnermyの差分は無いんですけれど、
5
5
  それは今後の拡張で埋まっていくと思います。クラスを分けた方が良いでしょう。
6
6
 
7
7
  **質問に直球で答える回答**
8
8
  分類のためにクラス分けをすることは、実はしばしばあります。
9
- インターフェースで表現することが多く、実際java.util.Cloneableは空です。
9
+ インターフェースで表現することが多く、実際java.lang.Cloneableは空です。
10
10
 
11
11
  空のインターフェースを実現しても当然動作に変わりはありませんが、
12
12
  『複製が可能であると表明しているクラスのインスタンスだけ』受け付ける処理が書けます。