私は2つのファイル、file1.pyとfile2.pyと言っています。 file1.pyでは、私は2つのクラスを定義し、一方が他方から継承:別のファイルのクラスのオーバーライドメソッド
file1.py:
class Class1:
def __init__(self):
pass
def func1(self):
return "Hello world!"
class Class2(Class1):
def __init__(self):
pass
def func2(self):
return self.func1()
だから今、私はClass2
からfunc1()
とfunc2()
を呼び出すことができますよ。
file2.py:
が質問:Class2
でfunc2()
がfunc1()
と同じように返すようにがどのように私は、file2.pyにClass1
からfunc1()
を変更できますか?
だから、これを好きではない:
class Class3(file1.Class2):
...
def func1(self):
return "Another string"
あなたが望むものは完全にはっきりしていませんが、 'Class3.func2()'を単に上書きするだけで解決できない場合、 'Class3'は' Class2'を継承してはいけません。 – chepner
@chepnerこれはちょっと難しいですが、上記はPythonの標準ライブラリ(file1.pyで定義されています)のクラスのスケルトンです。 file2.pyは私自身のファイルですが、私はsite-packages内のファイルのコードを変更したくありません! – linusg