定义一个圆类(Circle),属性为半径(ra dius),操作计算周长、面积,输出半径、周长和面积等,其他可自行设计。 以圆类Circle为基类,派生一个派生类一 -圆柱体类(cylinder),输出圆柱体的面积、体积。
时间: 2023-06-12 20:04:07 浏览: 55
以下是 Python 的实现:
```python
import math
class Circle:
def __init__(self, radius):
self.radius = radius
def get_radius(self):
return self.radius
def set_radius(self, radius):
self.radius = radius
def get_area(self):
return math.pi * self.radius ** 2
def get_perimeter(self):
return 2 * math.pi * self.radius
def __str__(self):
return "Radius: {}\nPerimeter: {:.2f}\nArea: {:.2f}".format(self.radius, self.get_perimeter(), self.get_area())
class Cylinder(Circle):
def __init__(self, radius, height):
super().__init__(radius)
self.height = height
def get_height(self):
return self.height
def set_height(self, height):
self.height = height
def get_volume(self):
return self.get_area() * self.height
def get_area(self):
return 2 * math.pi * self.radius * self.height + 2 * super().get_area()
def __str__(self):
return "Radius: {}\nHeight: {}\nSurface Area: {:.2f}\nVolume: {:.2f}".format(self.radius, self.height, self.get_area(), self.get_volume())
```
使用示例:
```python
c = Circle(2)
print(c)
# Radius: 2
# Perimeter: 12.57
# Area: 12.57
cy = Cylinder(2, 5)
print(cy)
# Radius: 2
# Height: 5
# Surface Area: 75.40
# Volume: 62.83
```