复习python编程题集合的第五题,若有错误和改进意见,欢迎评论交流!
首先定义一个Point (点)类:
(1)包含属性x,y(x,y为坐标点)
(2)方法有setPoint 、getX、getY和OprintInfo,它们的作用分别为设置点的坐标值、获取x坐标、获取y坐标和输出点的信息(包括坐标和坐标值)
以Point 点为基类,派生出一个Circle((圆)类:
(1)增加属性r(半径)
(2)该类的方法有setRadius,、getRadius 、calArea 和OprintInfo ,它们的作用分别为设置圆半径、获取圆半径、计算圆的面积及输出圆的信息(包括原点、半径和面积)
编写python程序,实现Point类、Circle 类,并进行实例化测试
代码为:
import math
class Point(object):
x,y=0,0
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('x: ' + str(self.getX()))
print('y: ' + str(self.getY()))
print('坐标: ' + str((self.x,self.y)))
point = Point(1,2)
point.printInfo()
print('___________________________________________________________________________')
class Circle(Point):
def __init__(self,x,y,r):
Point.__init__( self, x,y)
self.setRadius(r)
def setRadius(self,r):
self.r=r
def getRadius(self):
return self.r
def calAera(self):
return math.pi*self.r*self.r
def printlnfo(self):
print('原点: ' + str((self.x, self.y)))
print('半径: ' + str(self.getRadius()))
print('面积: ' + str(self.calAera()))
circle=Circle(1,1,2)
circle.printlnfo()
输出为:
之前的四道在:python复习之编译题(列表不重复降序输出、类的私有属性、多重继承)
这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!