How to do nested class and inherit inside the class
我试了好几次,但没能使下面的代码工作
提前感谢您的帮助/建议
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class A(object): def __init__(self,x,y,z): self.c=C(x,y,z) def getxyz(self): return self.c.getxyz() class B(object): def __init__(self,x,y): self.x=x self.y=y def getxy(self): return self.x, self.y class C(B): def __init__(self,x,y,z): super(C,self).__init__(x,y) #self.x,self.y=x,y self.z=z def getxyz(self): (x,y)=self.getxy() return x,y,self.z a=A(1,2,3) a.getxyz() |
我不完全确定你为什么要嵌套类(很少是你真正想做的),但是行
1 | self.c = C(x,y,z) |
几乎可以肯定是这里的问题。除非我不明白你想完成什么(很可能是),否则你应该能够做到
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class A(object): def __init__(self, x, y, z): self.c = self.C(x,y,z) def getxyz(self): return self.c.getxyz() class B(object): def __init__(self, x, y): self.x = x self.y = y def getxy(self): return self.x, self.y class C(B): def __init__(self, x, y, z): super(A.C, self).__init__(x,y) self.z = z def getxyz(self): (x,y) = self.getxy() return x, y, self.z |
号