|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
print(line.getLen())
这样也可以吗?Line类中并没有getX()和getY()的方法啊?也可以引用吗?没有继承关系啊?什么原理?有没有大佬给我解释解释?
本帖最后由 lxping 于 2022-12-17 22:14 编辑
Line类中调用getX()和getY()的是p1,p2,这两个参数是你传进来的Point类的实例化对象,p1,p2是有这两个方法的,所以是没有问题的
如果你p1、p2不是Point类的实例化对象,而是p1=(1,1) ,p2=(4,5),那就会报错
代码请不要直接发出来,用代码格式
|
|