Bonjour,
Allo Houston, j'ai un problème!
Une classe B hérite de A qui ne contient qu'un attribut: une liste
Une classe C héritant également de A crée une instance de B dans son constructeur.
voici mon code:
class A():
l =[]
def __init__(self):
pass
class B(A):
def __init__(self):
A.__init__(self)
self.l.append('b')
class C(A):
def __init__(self):
A.__init__(self)
print 'xxx', ''.join(self.l)
b = B()
print 'xxx', ''.join(self.l)
self.l.append(''.join(b.l))
self.l.append('d')
if __name__ == '__main__':
objC = C()
print "objC: %s" % (''.join(objC.l))
En sortie , j'obtiens:
...alors que je m'attendais à avoir:
Pourquoi la création de l'instance b vient marcher sur les plate-bandes de l'instance de C ???
Please, aidez-moi à comprendre