3、定义一个名为Cylinder类表示圆柱,其继承Circle类(参考编程练习2.1),要求定义一个变量height表示圆柱的高。 1) 定义无参数构造方法; 2) 定义带radius和height两个参数的构造方法。 3) 覆盖getArea()方法求圆柱的表面积 4) 编码测试程序,提示用户输入圆柱的底面圆的半径和圆柱高度,程序创建一个圆柱对象,测试并输出圆柱表面积和体积。
时间: 2024-03-20 10:43:02 浏览: 129
好的,以下是代码实现:
```python
# 定义 Circle 类
class Circle:
def __init__(self, radius):
self.radius = radius
def getArea(self):
return 3.14 * self.radius * self.radius
# 定义 Cylinder 类,继承自 Circle 类
class Cylinder(Circle):
def __init__(self, radius, height):
super().__init__(radius)
self.height = height
def getArea(self):
return 2 * 3.14 * self.radius * self.height + 2 * super().getArea()
def getVolume(self):
return super().getArea() * self.height
# 测试程序
r = float(input("请输入圆柱的底面圆的半径:"))
h = float(input("请输入圆柱的高度:"))
c = Cylinder(r, h)
print("圆柱的表面积为:", c.getArea())
print("圆柱的体积为:", c.getVolume())
```
解释一下代码:
首先定义了一个 Circle 类表示圆形,其中包含一个构造方法和一个求面积的方法。
然后定义了一个 Cylinder 类表示圆柱,继承自 Circle 类,其中包含一个构造方法和一个覆盖了求面积的方法,并新增了一个求体积的方法。
最后在测试程序中,提示用户输入圆柱的底面圆的半径和圆柱高度,创建一个圆柱对象 c,并输出圆柱的表面积和体积。
希望这个程序能够解决你的问题!
阅读全文