0

次のような構造の Python パッケージがあるとします。

/summary
    __init__.py
    summary.py
    /temperature
        __init__.py
        temperature.py

クラス TempSummary (temperature.py で定義) は基本クラス Summary (summary.py で定義) から継承され、それぞれ次のように定義されます。

class TempSummary(Summary):
    def __init__(self, f):
        bar(f)

class Summary:
    def __init__(self, f):
        foo(f)

summary.py の内容を /temperature にコピーして、コピーしたファイル内のクラスのメソッドを変更しますか、それとも、TempSummary に継承してからメソッドの動作の変更を開始する方がより Pythonic ですか?

4

1 に答える 1

0

コードをコピーするとDRYに違反します(繰り返さないでください)。2 セットのコードを並行して維持するのは悪夢になります。

これは、カスタム機能を作成するために選択したメソッドをサブクラス化し、オーバーライドする OOP アプローチです。

いくつかのメソッドを拡張する場合は、親メソッドを呼び出すSummaryことを忘れないでください!

于 2013-06-18T22:35:30.900 に答える