首先定义一个Point(点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY和printInfo,它们的作用分别为设置点的坐标值,获取x坐标、获取y坐标和输出点的信息(包括坐标和坐标值)。以Point点为基类,派生出一个Circle(圆)类,增加属性r(半径),该类的方法有setRadius、getRadius、calArea与printInfo,它们的作用分别为设置圆半径、获取圆半径、计算圆的面积及输出圆的信息(包括原点、半径与面积)。编写Python程序,实现Point、Circle类,并进行实例化测试。
时间: 2024-02-13 11:59:42 浏览: 130
好的,以下是实现Point和Circle类的Python代码:
```python
import math
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 math.pi * self.r ** 2
def printInfo(self):
print("Circle: center ({}, {}), radius {}, area {:.2f}".format(self.x, self.y, self.r, self.calArea()))
# 测试代码
p = Point(1, 2)
p.printInfo()
c = Circle(3, 4)
c.setRadius(5)
c.printInfo()
```
运行结果:
```
Point: (1, 2)
Circle: center (3, 4), radius 5, area 78.54
```
我们先定义了一个Point类,包含x和y两个坐标属性,以及setPoint、getX、getY和printInfo四个方法。其中,setPoint用于设置坐标值,getX和getY用于获取x和y坐标,printInfo用于输出点的信息。
然后,我们派生出一个Circle类,它继承自Point类,并增加了一个半径属性r。Circle类中的方法有setRadius、getRadius、calArea和printInfo。其中,setRadius用于设置圆的半径,getRadius用于获取圆的半径,calArea用于计算圆的面积,printInfo用于输出圆的信息。
在测试代码中,我们先实例化了一个Point对象p,并调用了它的printInfo方法输出点的信息。然后实例化了一个Circle对象c,设置了它的半径为5,并调用了它的printInfo方法输出圆的信息。
阅读全文