我有兩個類,一個從另一個繼承。我們稱它們爲Parent
和Child
。 無論從這些類創建應使用功能funA
,它看起來像下面Python - 繼承和方法覆蓋
funA():
X = another_function()
Y = # some value
X.append(Y)
# do other computations
兩個類,功能funA
看起來幾乎相同的對象,除了功能another_function()
,它以不同的方式計算列表X
爲Parent
和Child
不同。當然,我知道我可以覆蓋Child類中的函數funA
,但由於此函數非常長並且執行了多個操作,因此複製粘貼它會有點浪費。另一方面 - 我必須區分Parent類應使用another_function()
的一個版本,Child類應使用another_function()
的第二個版本。是否可能指向哪個版本的another_function
(我們稱之爲another_function_v1
和another_function_v2
)應該由每個類別使用或者唯一的解決方案是否覆蓋整個功能funA
?
爲什麼不爲'function_calling_method'呼叫調用替換爲'another_function',那麼就重寫*中的孩子,*? – jonrsharpe
是你的'funA'靜態或類/實例方法嗎? –
@AzatIbrakov它是一種方法 – Ziva