我有这样的代码
class a(object):
def __init__(self, x, y):
self.x=x
self.y=y
super(a, self).__init__()
def displayA(self):
print self.x
print self.y
class b(object):
def __init__(self, name):
self.name=name
super(b, self).__init__()
def displayB(self):
print self.name
class c(a,b):
def __init__(self, p,x,y,name):
self.p = p
b.name=name #**this line confuses me**
super(c,self).__init__(x,y)
def displayC(self):
print self.p
v = c(10, 12, 78, 'abc')
v.displayC()
v.displayA()
v.displayB()
我想初始化不同类的数据成员(a&;b) 通过子类c,但是super()只访问类a,但是我可以初始化类b的数据成员,比如c的init()中的b.name=name
,然后我可以传递对象中的参数。
我的问题是,如果我不这样做,我就不能在c的对象中传递参数。
救救我
尝试:
编辑:
好的,关于
b.name
的遗漏问题。拆下那条线。在这种情况下,b是类b.__init__
是一种特殊的约定,用于显示您愿意调用哪个父构造函数这不是重复。希望,现在有帮助了
编辑2:
结果:
你能编辑一下你的第一篇文章,告诉我问题出在哪里吗?对我来说,这就是答案,那是从一开始
相关问题 更多 >
编程相关推荐