j'ai le problème suivantpython méthode de super appel de classe au lieu de hérité
class A:
def __init__(self):
self.window = "<I am window class>"
class B(A):
def __init__(self):
super().__init__()
def createObject(self):
print(self.window) # it works here
self.c = C()
def drawRect(self):
print(self.window) # does not work when called from class C
class C(B):
def __init__(self):
self.draw()
def draw(self):
super().drawRect()
app = B()
app.createObject()
J'ai pensé que, quand je l'appelle la fonction super().drawRect()
en classe C il envoie le <__main__.C object at 0x0000023D99FA6748>
comme moi.
Comment puis-je faire la classe C, en fonction draw() envoyer <__main__.B object at 0x0000017A2BA95358>
dans le super().drawRect()
Je demande parce que dans le code non simplifié lorsque j'appelle la fonction de la classe B lui-même, il imprime soi .window, mais lorsqu'il est appelé à partir de la classe C, il imprime Aucun
comment cela peut-il être réparé? qu'est-ce que je fais mal?