回答編集履歴
2
文法の修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
- 親クラスとして単純に集約するのであれば、子クラスで共通の処理(taiseki)と、異なる処理(teimenseki)が混在するため、**抽象クラス**が最適です。
|
2
|
-
-
|
2
|
+
- 処理として似た属性(width, base)は広義な名前に集約すると共通化し易くなります。
|
3
3
|
|
4
4
|
```Java
|
5
5
|
/**
|
1
クラス名の頭文字を大文字に。
answer
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
/**
|
6
6
|
* 角柱
|
7
7
|
*/
|
8
|
-
public abstract class
|
8
|
+
public abstract class Kakutyu {
|
9
9
|
|
10
10
|
protected double base, height;
|
11
11
|
protected double length;
|
12
12
|
|
13
|
-
public
|
13
|
+
public Kakutyu(double b, double h, double l) {
|
14
14
|
this.base = b;
|
15
15
|
this.height = h;
|
16
16
|
this.length = l;
|
@@ -26,9 +26,9 @@
|
|
26
26
|
/**
|
27
27
|
* 直方体
|
28
28
|
*/
|
29
|
-
class
|
29
|
+
class Tyokuhoutai extends Kakutyu {
|
30
30
|
|
31
|
-
public
|
31
|
+
public Tyokuhoutai(double b, double h, double l) {
|
32
32
|
super(b, h, l);
|
33
33
|
}
|
34
34
|
|
@@ -41,9 +41,9 @@
|
|
41
41
|
/**
|
42
42
|
* 三角柱
|
43
43
|
*/
|
44
|
-
class
|
44
|
+
class Sankakutyuu extends Kakutyu {
|
45
45
|
|
46
|
-
public
|
46
|
+
public Sankakutyuu(double b, double h, double l) {
|
47
47
|
super(b, h, l);
|
48
48
|
}
|
49
49
|
|