3.设计一个圆类 circle 和一个桌子类 table,另设计一个圆桌类 roundtable,它是从前两个类 派生的,要求输出圆桌的高度、面积和颜色等数据。 指导: circle 类包含私有数据成员 radius 和求圆面积的成员函数 get_area();table 类包含私有数 据成员 height 和返回高度的成员函数 get_height()。roundtable 类继承所有上述类的数据成员 和成员函数,添加了私有数据成员 color 和相应的成员函数。成图形,就是对这三个类的对象 进行操作。
时间: 2024-03-11 13:51:20 浏览: 179
好的,这是一个简单的面向对象的设计问题,我可以为您进行解答。下面是代码实现:
```python
class Circle:
def __init__(self, radius):
self.radius = radius
def get_area(self):
return 3.14 * self.radius ** 2
class Table:
def __init__(self, height):
self.height = height
def get_height(self):
return self.height
class RoundTable(Circle, Table):
def __init__(self, radius, height, color):
Circle.__init__(self, radius)
Table.__init__(self, height)
self.color = color
def get_color(self):
return self.color
```
在上述代码中,我们定义了三个类,分别是 Circle、Table 和 RoundTable。其中 Circle 类表示一个圆形,包含私有数据成员 radius 和求圆面积的成员函数 get_area();Table 类表示一个桌子,包含私有数据成员 height 和返回高度的成员函数 get_height();RoundTable 类继承自 Circle 和 Table 类,添加了私有数据成员 color 和相应的成员函数 get_color(),表示一个圆桌。
在 RoundTable 类中,我们使用了多重继承,通过调用父类的 __init__() 方法来初始化 Circle 和 Table 类的数据成员。然后我们添加了一个新的成员函数 get_color(),用于返回圆桌的颜色。
下面是一个使用示例:
```python
# 创建一个圆桌对象
rt = RoundTable(5, 2, 'red')
# 输出圆桌的高度、面积和颜色等数据
print('圆桌的高度为:', rt.get_height())
print('圆桌的面积为:', rt.get_area())
print('圆桌的颜色为:', rt.get_color())
```
输出结果为:
```
圆桌的高度为: 2
圆桌的面积为: 78.5
圆桌的颜色为: red
```
阅读全文