回答編集履歴

1

クラスの継承についてご存じですか?

2016/08/08 14:51

投稿

swordone
swordone

スコア20649

test CHANGED
@@ -1 +1,53 @@
1
1
  そういうことをしたいのなら抽象クラスにしてHumanやAnimalに継承するか、インタフェースで定義するべきではないでしょうか?
2
+
3
+
4
+
5
+ Javaの入門向け説明の多くでは、このような生物の例を出してクラスの継承を説明している印象があります。
6
+
7
+ HumanやAnimalクラスの親クラスに例えばLivingクラスを作成し、
8
+
9
+ ```java
10
+
11
+ public class Living {
12
+
13
+ public void act(){
14
+
15
+ //何かする
16
+
17
+ }
18
+
19
+ }
20
+
21
+ ```
22
+
23
+ HumanやAnimalクラスでこれを継承し、各クラスでオーバーライドして使う、という説明が一般的です。
24
+
25
+ ```java
26
+
27
+ public class Human {
28
+
29
+ public void act(){
30
+
31
+ super.act(); //親クラスで決めたことをする
32
+
33
+ //追加で何かする、などの設計
34
+
35
+ }
36
+
37
+ }
38
+
39
+
40
+
41
+ public class Animal {
42
+
43
+ public void act(){
44
+
45
+ super.act(); //親クラスで決めたことをする
46
+
47
+ //追加で何かする、などの設計
48
+
49
+ }
50
+
51
+ }
52
+
53
+ ```