首岦定义一个Point(点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY和printInfo,它岨的作用分别为设置点的坐标值、获取x坐标、获取y坐标和输出点的信息(包岪坐标和坐标值)。以Point点为基类,派生出一个Circle(圆)类,增岬属性r(半岮),岧类的方法有setRadius、getRadius、calArea和printInfo,它岨的作用分别为设置圆半岮、获取圆半岮、计算圆的面积及输出圆的信息(包岪原点、半岮和面积)。编岫Python程序,实现Point、Circle类,并进行实例化测试。
时间: 2024-01-22 13:18:32 浏览: 123
下面是实现Point和Circle类的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):
super().printInfo()
print("Circle: (r={}, area={:.2f})".format(self.r, self.calArea()))
```
可以看到,Point类有一个构造方法__init__,它接受两个参数x和y,分别代表点的x坐标和y坐标。它还有一个setPoint方法,用于设置点的坐标,getX和getY方法,用于获取点的x坐标和y坐标,以及printInfo方法,用于输出点的信息。
Circle类从Point类派生而来,它有一个构造方法__init__,它接受三个参数x、y和r,分别代表圆心的x坐标、y坐标和半径。它还有一个setRadius方法,用于设置圆的半径,getRadius方法,用于获取圆的半径,calArea方法,用于计算圆的面积,以及printInfo方法,用于输出圆的信息。
下面是实例化测试的代码:
```python
p = Point(3, 4)
p.printInfo() # 输出:Point: (3, 4)
c = Circle(1, 2, 5)
c.printInfo() # 输出:Point: (1, 2), Circle: (r=5, area=78.50)
```
我们先实例化一个点p,它的坐标为(3,4),然后调用printInfo方法输出点的信息。接着实例化一个圆c,它的圆心坐标为(1,2),半径为5,然后调用printInfo方法输出圆的信息。可以看到,输出的信息符合预期。
阅读全文