我编写的简单代码遇到问题类点有 x 和 y 值类正方形(Point)包括 4 个点:p1,p2,p3,p4我正在尝试使用 sq1.p1.set_x(num1) 更新 p1 的 x 值,但失败了。我尝试使用公共定义但也失败了我的问题是谁的?谢谢class Point: def __init__(self,x=0,y=0): self.__x = x self.__y = y def get_x(self): return self.__x def get_y(self): return self.__y def set_x(self,x=0): self.__x = x def set_y(self,y=0): self.__y = y class Square (Point): def __init__(self,p1,p2,p3,p4): self.__p1 = p1 self.__p2 = p2 self.__p3 = p3 self.__p4 = p4 def get_p1(self): return self.__p1 def get_p2(self): return self.__p2 def get_p3(self): return self.__p3 def get_p4(self): return self.__p4 def set_p1(self,p1): self.__p1 = p1 def set_p2(self,p2): self.__p2 = p2 def set_p3(self,p1): self.__p3 = p3 def set_p4(self,p4): self.__p4 = p4def main(): p1 = Point(2,0) p2 = Point(2,2) p3 = Point(0,2) p4 = Point(0,0) sq1 = Square(p1,p2,p3,p4) sq1.p1.set_x(4) # this line failingif __name__ == "__main__": main()
1 回答
BIG阳
TA贡献1859条经验 获得超6个赞
代替
sq1.p1.set_x(4) # this line failing
和
sq1.get_p1().set_x(4)
这是因为类Square
没有属性p1
(它有__p1
属性,但没有p1
)。
添加回答
举报
0/150
提交
取消