// 抽象类--图形
public abstract class Shape {
//抽象方法取得图形的面积
public abstract double getArea();
}
//三角形继承图形的类
public class Triangle extends Shape {
// 三角形的边1
private double a = 0;
// 三角形的边2
private double b = 0;
// 三角形的边3
private double c = 0;
// 三角形的高
private double h = 0;
// 构造函数,已知三角形的高和底
public Triangle(double a, double h) {
this.a = a;
this.h = h;
}
// 构造函数,已知三角形的三边长度
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double getArea() {
if (h == 0) {
// 根据海伦公式求三角形的面积
double s = (a+b+c)/2;
return Math.pow(s*(s-a)*(s-b)*(s-c), 0.5);
} else {
// 普通公式
return ( a * h / 2);
}
}
}
取消
评论