|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第038讲:类和对象:继承,课后作业 动动手 0
- import math
- class Point():
- def __init__(self, x=0, y=0):
- self.x = x
- self.y = y
- def getX(self):
- return self.x
- def getY(self):
- return self.y
- class Line():
- def __init__(self, p1, p2):
- self.x = p1.getX() - p2.getX()
- self.y = p1.getY() - p2.getY()
- self.len = math.sqrt(self.x*self.x + self.y*self.y)
- def getLen(self):
- return self.len
- >>> p1 = Point(1, 1)
- >>> p2 = Point(4, 5)
- >>> line = Line(p1, p2)
- >>> line.getLen()
- 5.0
复制代码
这里为什么要用 getX(self) 和 getY(self)呢?为什么不直接用属性呢?可以减少很多代码量啊,请问用函数方法获取值 是有什么更好的原因吗?
- import math
- class Point():
- def __init__(self, x=0, y=0):
- self.x = x
- self.y = y
- class Line():
- def __init__(self, p1, p2):
- self.x = p1.x - p2.x
- self.y = p1.y - p2.y
- self.len = math.sqrt(self.x*self.x + self.y*self.y)
- def getLen(self):
- return self.len
- >>> p1 = Point(1, 1)
- >>> p2 = Point(4, 5)
- >>> line = Line(p1, p2)
- >>> line.getLen()
- 5.0
复制代码
直接调用属性 效果是一样一样的,为什么要多写那么多代码用函数呢?望各位鱼油指导一下,万分感谢
|
|