从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z。 编程要求: (1)在父类Rect中,定义求底面周长的方法length( )和底面积的方法area( )。 (2)定义父类Rect的子类立方体类Cubic,计算立方体的表面积和体积。其中表面积area( )重写父类的方法。 (3)定义父类Rect的子类四棱锥类Pyramid,计算四棱锥的表面积和体积。其中表面积area( )重写父类的方法。 (4)在主程序中,输入立体图形的长(l)、宽(h)、高(z)数据,分别输出长方体的表面积、体积、四棱锥的表面积和体积。用JAVA
时间: 2024-02-03 12:12:16 浏览: 42
voxel-stitch:将块纹理缝合到 rect-mip-map 的平铺贴图中
可以参考如下代码:
```
class Rect {
double length;
double width;
double height;
Rect(double l, double w, double h) {
length = l;
width = w;
height = h;
}
double length() {
return 2 * (length + width);
}
double area() {
return length * width;
}
}
class Cubic extends Rect {
Cubic(double l, double w, double h) {
super(l, w, h);
}
double area() {
return 2 * (length * width + width * height + length * height);
}
double volume() {
return length * width * height;
}
}
class Pyramid extends Rect {
Pyramid(double l, double w, double h) {
super(l, w, h);
}
double area() {
return length * width + length * Math.sqrt(Math.pow(width / 2, 2) + Math.pow(height, 2))
+ width * Math.sqrt(Math.pow(length / 2, 2) + Math.pow(height, 2));
}
double volume() {
return length * width * height / 3;
}
}
public class Main {
public static void main(String[] args) {
double l = 5, w = 3, h = 4;
Rect rect = new Rect(l, w, h);
System.out.println("长方体表面积: " + rect.area());
System.out.println("长方体体积: " + rect.length() * height);
Cubic cubic = new Cubic(l, w, h);
System.out.println("立方体表面积: " + cubic.area());
System.out.println("立方体体积: " + cubic.volume());
Pyramid pyramid = new Pyramid(l, w, h);
System.out.println("四棱锥表面积: " + pyramid.area());
System.out.println("四棱锥体积: " + pyramid.volume());
}
}
```
阅读全文