代码仅供参考!
public class Shape {
public static void main(String[] args) {
Shape shape = new Shape();
System.out.println("圆的面积:"+shape.area(3.14, 1.0));
System.out.println("正方形面积:"+shape.area(1.0));
System.out.println("梯形面积:"+shape.area(2.0, 3.0, 1.0));
}
/**
* 公式中p,r分别为π及半径
* @param p
* @param r
* @return
*/
public Double area(Double p, Double r){//圆的面积
return p*r*r;
}
/**
* a为边长
* @param a
* @return
*/
public Double area(Double a){//正方形面积
return a*a;
}
/**
* 公式中a,c分别为梯形上下底,h为梯形的高
* @param a
* @param c
* @param h
* @return
*/
public Double area(Double a,Double c,Double h){//梯形面积
return (a+c)*h/2;
}
}
如有不懂,欢迎追问!
定义Shape为接口或抽象类,然后通过实现或继承来具体实现area方法,就行了。
这里的多态指方法的重载
//计算圆面积,需要半径参数
public double area(int r){ return 圆面积计算公式 }
//计算正方形面积,需要边长参数
public double area(int side){ return 正方形面积计算公式 }
//计算梯形面积,需要上底、下底、高参数
public double area(int topSide, int bottomSide, int hight){ return 梯形面积计算公式 }
方法返回值类型以及参数类型可以自己决定,我只是给你个例子,另外面积的计算公式我就不详细写了。
然后main函数中只需要调用一下就行了,比如
Shape shape = new Shape();
shape .area(3);// 计算半径为3的圆的面积
shape .area(2);// 计算边长为2的正方形的面积
shape .area(2,3,4);// 计算上底为2,下底为3,高为4的梯形的面积