首先定义慪个Point(点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY憮printInfo,它们的作用分别为设置点的坐标愴、获取x坐标、获取y坐标憮输出点的信息(包括坐标憮坐标愴)。以Point点为基类,派怂出慪个Circle(圆)类,增加属性r(半径),该类的方法有setRadius、getRadius、calArea憮printInfo,它们的作用分别为设置圆半径、获取圆半径、计算圆的忿积及输出圆的信息(包括原点、半径憮忿积)。编写Python程序,实现Point、Circle类,并进行实例化悵试。
时间: 2024-01-22 12:19:34 浏览: 63
以下是对应的Python代码实现:
```python
# 定义Point类
class Point:
def __init__(self, x, y):
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: (%d, %d)' % (self.x, self.y))
# 定义Circle类,派生自Point类
class Circle(Point):
def __init__(self, x, y, r):
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: center(%d, %d), radius(%d), area(%.2f)' % (self.x, self.y, self.r, self.calArea()))
# 实例化一个Point对象
p1 = Point(1, 2)
# 输出p1的信息
p1.printInfo()
# 改变p1的坐标
p1.setPoint(3, 4)
# 输出p1的信息
p1.printInfo()
# 实例化一个Circle对象
c1 = Circle(5, 6, 7)
# 输出c1的信息
c1.printInfo()
# 改变c1的半径
c1.setRadius(8)
# 输出c1的信息
c1.printInfo()
```
运行以上代码,输出结果如下:
```
Point: (1, 2)
Point: (3, 4)
Circle: center(5, 6), radius(7), area(153.86)
Circle: center(5, 6), radius(8), area(200.96)
```
可以看到,我们成功定义了Point和Circle类,并且实现了类的继承和重写方法。同时,我们也成功地实例化了两个对象,并输出了它们的信息。
阅读全文