java作业啊(抽象类和接口)!!!编
GeometricObject。java
--------------------
public abstract class GeometricObject {
abstract double getArea();
}
--------------------
Circle。 java
public class Circle extends GeometricObject {
private double r;
public void setR(double r) {
this。 r = r;
}
public double getR() {
return r;
}
public d...全部
GeometricObject。java
--------------------
public abstract class GeometricObject {
abstract double getArea();
}
--------------------
Circle。
java
public class Circle extends GeometricObject {
private double r;
public void setR(double r) {
this。
r = r;
}
public double getR() {
return r;
}
public double getArea() {
//System。
out。println("圆形");
return Math。PI * Math。sqrt(r);
}
}
-----------------------------
Cylinder。
java
public class Cylinder extends GeometricObject {
private double h;// 高
private double r;// 底面半径
public double getH() {
return h;
}
public void setH(double h) {
this。
h = h;
}
public double getR() {
return r;
}
public void setR(double r) {
this。
r = r;
}
public double getArea() {
//System。out。println("圆柱体");
return Math。PI * Math。
sqrt(r) * 2 + 2 * Math。PI * r * h;
}
}
----------------------------
Rectangle。java
---------------------------
public class Rectangle extends GeometricObject {
private double h;// 宽
private double w;// 长
public double getArea() {
//System。
out。println("矩形");
return h * w;
}
public double getH() {
return h;
}
public void setH(double h) {
this。
h = h;
}
public double getW() {
return w;
}
public void setW(double w) {
this。
w = w;
}
}
---------------------------------
测试!这里提供了一个构造GeometricObject数组的方法!
也可以不用,根据需要自定义!
public class MTest {
// 计算总和
public static double sumArea(GeometricObject[] a) {
double result = 0。
0d;
for (int i = 0; i < a。length; i++) {
result = result + a[i]。getArea();
}
return result;
}
// 创建一个GeometricObject数组
public static GeometricObject[] generateGOA() {
GeometricObject goa[] = new GeometricObject[3];
Circle goCir = new Circle();
goCir。
setR(2);
goa[0] = goCir;
Cylinder goCy = new Cylinder();
goCy。setH(3);
goCy。setR(4);
goa[1] = goCy;
Rectangle goRec = new Rectangle();
goRec。
setH(4);
goRec。setW(5);
goa[2] = goRec;
return goa;
}
public static void main(String[] args) {
System。
out。print(MTest。sumArea(MTest。generateGOA()));
}
}
。收起