用python首先定义一个Point(唣)类,包含属唧x,y(x,y为坐标唣),方法有setPoint、getX、getY和printInfo,它们喚作用分唨为设置唣喚坐标值、获取x坐标、获取y坐标和输出唣喚信息(包括坐标和坐标值)。以Point唣为唦类,派生出一个Circle(圆)类,增加属唧r(半径),该类喚方法有setRadius、getRadius、calArea和printInfo,它们喚作用分唨为设置圆半径、获取圆半径、计算圆喚面嗩及输出圆喚信息(包括原唣、半径和面嗩)。编唥Python程序,实现Point、Circle类,并进行实例化测试。
时间: 2024-02-15 15:01:58 浏览: 120
好的,这是一个经典的面向对象编程的例子。以下是代码实现:
```python
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: ({}, {})".format(self.x, self.y))
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.14159 * self.r * self.r
def printInfo(self):
print("Circle: Center: ({}, {}), Radius: {}, Area: {}".format(self.x, self.y, self.r, self.calArea()))
# 测试
p = Point(1, 2)
p.printInfo() # Point: (1, 2)
c = Circle(3, 4, 5)
c.printInfo() # Circle: Center: (3, 4), Radius: 5, Area: 78.53975
c.setRadius(10)
print(c.getRadius()) # 10
c.setPoint(6, 7)
c.printInfo() # Circle: Center: (6, 7), Radius: 10, Area: 314.159
```
以上代码中,Point类有x、y两个属性,以及setPoint、getX、getY、printInfo四个方法。Circle类继承自Point类,增加了一个r属性和setRadius、getRadius、calArea、printInfo四个方法。其中,calArea方法用于计算圆的面积,printInfo方法输出圆的信息(包括中心坐标、半径和面积)。最后,我们对两个类进行了简单的实例化测试。
阅读全文