设计一个类代表长方体,含有长、宽、高3个对象属性,含有计算体积的公有方法、计算表面积的公有方法。编写主程序,生成一个一般长方体和一个正方体。
时间: 2024-03-15 10:45:02 浏览: 76
好的,以下是实现要求:
- 长方体类名为 `Cuboid`,含有长 `length`、宽 `width`、高 `height` 三个属性;
- 类中有一个计算体积的公有方法 `get_volume()`,返回体积;
- 类中有一个计算表面积的公有方法 `get_surface_area()`,返回表面积;
- 正方体类名为 `Cube`,继承自 `Cuboid` 类;
- 主程序中先生成一个一般长方体和一个正方体,并输出它们的体积和表面积。
以下是实现代码:
```python
# 定义长方体类
class Cuboid:
def __init__(self, length, width, height):
self.length = length
self.width = width
self.height = height
def get_volume(self):
return self.length * self.width * self.height
def get_surface_area(self):
return 2 * (self.length * self.width + self.width * self.height + self.height * self.length)
# 定义正方体类,继承自长方体类
class Cube(Cuboid):
def __init__(self, side):
super().__init__(side, side, side)
# 主程序
if __name__ == '__main__':
# 生成一个一般长方体和一个正方体
cuboid = Cuboid(2, 3, 4)
cube = Cube(5)
# 输出它们的体积和表面积
print("Cuboid: volume =", cuboid.get_volume(), "surface area =", cuboid.get_surface_area())
print("Cube: volume =", cube.get_volume(), "surface area =", cube.get_surface_area())
```
输出结果:
```
Cuboid: volume = 24 surface area = 52
Cube: volume = 125 surface area = 150
```
阅读全文