我有以下問題蟒蛇類調用超類的方法,而不是繼承
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()
我想通的是,當我稱之爲C類 的super().drawRect()
功能,它發送<__main__.C object at 0x0000023D99FA6748>
自我。
我怎樣才能讓C類,函數平局()在super().drawRect()
我問,因爲在非精簡代碼時,我調用該函數從B類自身發送<__main__.B object at 0x0000017A2BA95358>
,它打印的自.window,但是當從C類調用時,它會打印無
這怎麼解決? 我做錯了什麼?