我已經詢問了一些與我正在開發的游戲相關的問題。該問題是在開發過程中出現的,但實際上與游戲本身無關。我的代碼中有一個方法(子類中的“resize”),它調用其超類中的等效方法(超類的“resize”)。預期行為:超級調整大小調用 Super-do_rotozoom發生了什么:稱為 Sub-do_rotozoom 的超級調整大小這是一個代碼示例:子類:def do_rotozoom(self): # do rotozoom stuff of subclassdef resize(self,factor): super().resize(factor) self.do_rotozoom()超類:def do_rotozoom(self): #do rotozoom stuff of superclassdef resize(self,factor): self.factor = factor self.do_rotozoom()我找到了一個解決方法,其中涉及調用super().do_rotozoom()子類方法do_rotozoom(),然后由super().resize(). 我還發現,在這種情況下我可以刪除該行self.do_rotozoom()。在這種情況下,這是一個非常簡單的修復,但是在更復雜的情況下我會做什么,例如,如果我需要使用do_rotozoom()超類中的其他變量調用該方法,而不是在子類/另一個特定實現中調用該方法?換句話說,我如何能夠選擇在特定上下文中使用哪種方法?通常,您只能從子類訪問超方法,但不能從超類訪問超方法(不是超類的方法,而是它自己的方法)。我還沒有找到更好的標題...:D
添加回答
舉報
0/150
提交
取消