2
我剛剛在看Raymond Hettinger的Super considered super談話。其中,他描述了super()
如何調用下一個班級。他通過使用顯示方法解析順序的help()
方法直觀地演示了這一點。super()行止擋器
在談話結束時,他描述了在方法分辨率行結束時需要超級塞子類。我用這個術語搜索了一下,沒有發現任何東西,所以我不清楚他在這裏的含義 - 這個瓶塞階級在實踐中是如何工作的?
我剛剛在看Raymond Hettinger的Super considered super談話。其中,他描述了super()
如何調用下一個班級。他通過使用顯示方法解析順序的help()
方法直觀地演示了這一點。super()行止擋器
在談話結束時,他描述了在方法分辨率行結束時需要超級塞子類。我用這個術語搜索了一下,沒有發現任何東西,所以我不清楚他在這裏的含義 - 這個瓶塞階級在實踐中是如何工作的?
這只是在鏈中的方法,不使用super()
調用下一個方法。通常這些位於層次結構的基類中。
畢竟,如果MRO鏈中沒有下一個方法需要調用,那麼會出現錯誤,因爲沒有下一個方法可以查找。
雷蒙德對此非常明確;從視頻中轉錄:
您在末端放置了塞子物體; 不是
object
,您可以創建一個對象,將其稱爲Root
,並放入其中,並且所有這些對象都具有感興趣的方法;通過它,但實際上並沒有呼叫super()
。鏈末端有人不應該打電話給super()
。
好吧,現在看起來很明顯,你把它說得那樣。我以爲我可能錯過了一些東西,謝謝! – rix