从图中观察,可抽取长方体和四棱锥两种立体图形的共同属性到父类Rect中:长度:l 宽度:h 高度:z。 编程要求: (1)在父类Rect中,定义求底面周长的方法length( )和底面积的方法area( )。 (2)定义父类Rect的子类立方体类Cubic,计算立方体的表面积和体积。其中表面积area( )重写父类的方法。 (3)定义父类Rect的子类四棱锥类Pyramid,计算四棱锥的表面积和体积。其中表面积area( )重写父类的方法。 (4)在主程序中,输入立体图形的长(l)、宽(h)、高(z)数据,分别输出长方体的表面积、体积、四棱锥的表面积和体积。
时间: 2024-02-03 21:12:15 浏览: 9
下面给出Python的实现代码:
```python
class Rect:
def __init__(self, l, h, z):
self.l = l
self.h = h
self.z = z
def length(self):
return 2 * (self.l + self.h)
def area(self):
return self.l * self.h
class Cubic(Rect):
def __init__(self, l, h, z):
super().__init__(l, h, z)
def area(self):
return 2 * (self.l * self.h + self.l * self.z + self.h * self.z)
def volume(self):
return self.l * self.h * self.z
class Pyramid(Rect):
def __init__(self, l, h, z):
super().__init__(l, h, z)
def area(self):
return self.l * self.h + self.l * ((self.z ** 2 + self.h ** 2) ** 0.5) + self.h * ((self.z ** 2 + self.l ** 2) ** 0.5)
def volume(self):
return self.l * self.h * self.z / 3
# 测试
l = float(input("长(l):"))
h = float(input("宽(h):"))
z = float(input("高(z):"))
cubic = Cubic(l, h, z)
pyramid = Pyramid(l, h, z)
print("长方体的表面积:", Rect(l, h, z).area())
print("长方体的体积:", cubic.volume())
print("四棱锥的表面积:", pyramid.area())
print("四棱锥的体积:", pyramid.volume())
```
输入长、宽、高的数据后,程序会输出长方体的表面积、体积、四棱锥的表面积和体积。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)