07/10/31 02:13:59
コンストラクタに
if (!(a < b + c && b < c + a && c < a + b)) throw new IllegalArgumentException();
があると正しい三角形のインスタンスだけを作れる
継承まで習っているなら
class Menseki extends Nagasa {
public Menseki(double a, double b, double c) {
super(a, b, c);
}
public double getArea() {
double s = (a + b + c) / 2;
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
}
}
という書き方も
フィールドのa, b, cはせっかくgetメソッドがあるしprivateにするなり
上の継承を使うならprotectedにするか面積を求める時にgetA()等を使うかしてもいいかも
それにしても名前といい設計といいひどい課題だ
>>440といい多いな