2011-12-12 75 views
0

我有代碼看起來像這樣:什麼時候父母有一個靜態類和一個孩子沒有?

Class Parent: 
    def someMethod(self): 
     return 42 

Class Child(Parent): 
    def someMethod(self): 
     print self.answer 

,家長有可能是靜態的,(擺脫pylint的警告),我想補充一個@staticmethod裝飾,但後來我想的方法作爲一個論據去除自我。這意味着父母和孩子有不同的輸入參數。除了離開代碼之外,還有什麼好的方法可以做到嗎?

+1

「Child」意味着從「Parent」繼承嗎? – Caspar

+1

*「除了離開代碼之外,還有什麼好的方法可以做到這一點嗎?」* - 現在的代碼並不反映您正在描述的內容。對於一個(請參閱@Caspar評論)你錯過了繼承信息,那麼你沒有在兩者中定義一個靜態方法,那麼......也許你粘貼了錯誤的代碼片段? – mac

回答

4

如果您希望能夠在需要父項時傳遞子項,則重寫方法應接受與父項方法相同的參數列表。只是發生這種特定的父實現方法可能被製成靜態。

在父級中使用# pylint: disable=X0123(替換爲相應的警告代碼)以禁用lint警告。

相關問題