首先定义一个Point(点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY和printInfo,它们的作用分别为设置点的坐标值、获取x坐标、获取y坐标和输出点的信息(包括坐标和坐标值)。以Point点为基类,派生出一个Circle(圆)类,增加属性r(半径),该类的方法有setRadius、getRadius、calArea和printInfo,它们的作用分别为设置圆半径、获取圆半径、计算圆的面积及输出圆的信息(包括原点、半径和面积)。编写Python程序,实现Point、Circle类,并进行实例化测试。
时间: 2024-03-18 14:40:16 浏览: 96
好的,下面是 Python 的代码实现:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def setPoint(self, x, y):
self.x = x
self.y = y
def getX(self):
return self.x
def getY(self):
return self.y
def printInfo(self):
print("Point: ({}, {})".format(self.x, self.y))
class Circle(Point):
def __init__(self, x=0, y=0, r=0):
super().__init__(x, y)
self.r = r
def setRadius(self, r):
self.r = r
def getRadius(self):
return self.r
def calArea(self):
return 3.14 * self.r ** 2
def printInfo(self):
print("Circle: ({}, {}), r:{}, area:{}".format(self.x, self.y, self.r, self.calArea()))
# 实例化测试
p = Point(1, 2)
print("Point info:")
p.printInfo()
print()
c = Circle(3, 4, 5)
print("Circle info:")
c.printInfo()
# 修改半径,并重新计算面积
c.setRadius(10)
print("After set radius:")
c.printInfo()
```
输出结果如下:
```
Point info:
Point: (1, 2)
Circle info:
Circle: (3, 4), r:5, area:78.5
After set radius:
Circle: (3, 4), r:10, area:314.0
```
阅读全文