私は2つのクラスを持ち、それぞれはもう一方から継承しています。 Parent
とChild
としましょう。 これらのクラスから作成されたオブジェクトの両方が両方のクラスについてPython継承とメソッドのオーバーライド
funA():
X = another_function()
Y = # some value
X.append(Y)
# do other computations
以下のようになります。これは、機能funA
を使用する必要があり、機能funA
がリストX
ための別の方法で計算する関数another_function()
、を除いて、ほとんど同じに見えますParent
であり、Child
では異なっています。もちろん、私は子クラスの関数funA
をオーバーライドできることを知っていますが、この関数は非常に長く、いくつかの操作を行うので、コピー貼り付けは少し無駄でしょう。一方、私は、親クラスがanother_function()
の1つのバージョンを使用し、子クラスがanother_function()
の2番目のバージョンを使用する必要があることを区別する必要があります。おそらく、another_function
のバージョン(another_function_v1
とanother_function_v2
と呼ぶ)を各クラスで使用するか、または関数全体をオーバーライドする場合の唯一の解決策を指すのは可能でしょうか?funA
?
を使用することができ、正常な機能、あるとし、その後、ちょうど*子でその*をオーバーライドしますか? – jonrsharpe
は 'funA'静的メソッドかクラス/インスタンスメソッドですか? –
@AzatIbrakovそれはクラスメソッドです – Ziva