圆和圆柱体计算(继承)
时间: 2024-05-14 15:19:22 浏览: 97
好的,我可以帮你设计一个计算圆和圆柱体的程序,并使用继承来实现代码重用。
首先,我们可以创建一个名为`Circle`的类来计算圆的面积和周长:
```python
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
def perimeter(self):
return 2 * 3.14 * self.radius
```
接下来,我们可以创建一个名为`Cylinder`的子类,该子类继承了`Circle`类,并添加了一个高度属性来表示圆柱体的高度。我们还可以定义一个新的方法来计算圆柱体的表面积和体积:
```python
class Cylinder(Circle):
def __init__(self, radius, height):
super().__init__(radius)
self.height = height
def surface_area(self):
return 2 * self.area() + 2 * 3.14 * self.radius * self.height
def volume(self):
return self.area() * self.height
```
现在,我们可以创建一个圆和一个圆柱体对象,并调用它们的方法来计算它们的面积、周长、表面积和体积:
```python
# 创建一个圆对象
circle = Circle(5)
print("圆的面积:", circle.area())
print("圆的周长:", circle.perimeter())
# 创建一个圆柱体对象
cylinder = Cylinder(5, 10)
print("圆柱体的表面积:", cylinder.surface_area())
print("圆柱体的体积:", cylinder.volume())
```
输出:
```
圆的面积: 78.5
圆的周长: 31.400000000000002
圆柱体的表面积: 471.0
圆柱体的体积: 785.0
```
这样,我们就成功地使用继承来实现了圆和圆柱体的计算。
阅读全文