|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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
在这个案例的Line()类中,p1.getX() 是在这个函数中直接设p1为Line()的实例吗?可以在一个类函数中直接调用另一个类的实例方法对吗?谢谢!
不是把p1设为Line的实例吧。只是调用Point类里面的p1实例当中的getX方法,返回的是x的值而已。要说Line的实例应该是line才对吧。
但这确实是在一个类函数直接调用另一个类的实例方法,Line这个类里面定义的时候就用到了Point类的getX方法。
|
|