首先编写一个圆Circle类,数据成员包括圆心坐标mx,my,半径mr,成员函数包括带参构造函数,面积函数和显示输出display函数,然后编写一个派生类圆柱Cylinder类,数据成员新增加高mh,成员函数包括带参构造函数,体积函数和显示输出display函数。主函数形式如下:
时间: 2024-03-10 14:45:50 浏览: 76
好的,我理解了你的问题。下面是Circle类和Cylinder类的实现代码:
```python
class Circle:
def __init__(self, mx, my, mr):
self.mx = mx
self.my = my
self.mr = mr
def area(self):
return 3.14 * self.mr * self.mr
def display(self):
print("圆心坐标:({}, {}),半径:{}".format(self.mx, self.my, self.mr))
class Cylinder(Circle):
def __init__(self, mx, my, mr, mh):
super().__init__(mx, my, mr)
self.mh = mh
def volume(self):
return 3.14 * self.mr * self.mr * self.mh
def display(self):
print("圆心坐标:({}, {}),半径:{},高度:{}".format(self.mx, self.my, self.mr, self.mh))
```
在上面的代码中,Circle类有三个数据成员:圆心坐标mx,my,半径mr。它有一个带参构造函数,一个面积函数area()和一个显示输出函数display()。Cylinder类是Circle类的派生类,新增加了一个数据成员高度mh。它有一个带参构造函数,一个体积函数volume()和一个显示输出函数display()。注意,Cylinder类中的display()函数覆盖了Circle类中的同名函数。
下面是一个示例程序,它创建了两个圆对象和两个圆柱对象,并分别调用了它们的面积、体积和显示函数:
```python
c1 = Circle(1, 2, 3)
c2 = Circle(4, 5, 6)
cy1 = Cylinder(1, 2, 3, 4)
cy2 = Cylinder(4, 5, 6, 7)
print("c1的面积:", c1.area())
print("c2的面积:", c2.area())
print("cy1的体积:", cy1.volume())
print("cy2的体积:", cy2.volume())
c1.display()
c2.display()
cy1.display()
cy2.display()
```
输出结果为:
```
c1的面积: 28.26
c2的面积: 113.04
cy1的体积: 113.04
cy2的体积: 791.04
圆心坐标:(1, 2),半径:3
圆心坐标:(4, 5),半径:6
圆心坐标:(1, 2),半径:3,高度:4
圆心坐标:(4, 5),半径:6,高度:7
```
阅读全文