Angenommen, ich habe zwei Dateien, file1.py und file2.py. In file1.py ich zwei Klassen definieren, erbt man von der anderen Seite:Override-Methode der Klasse in einer anderen Datei
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()
So, jetzt bin ich in der Lage func1()
und func2()
von Class2
zu nennen.
file2.py:
import file1
class Class3(file1.Class2):
def __init__(self):
pass
Frage: Wie kann ich func1()
von Class1
in ändern file2.py, so dass func2()
in Class2
kehrt die gleiche wie func1()
?
So dies nicht mag:
class Class3(file1.Class2):
...
def func1(self):
return "Another string"
Es ist nicht ganz klar, was Sie wollen, aber es klingt wie 'Class3' sollte nicht von' Class2' erben, wenn einfach überschreiben 'Class3.func2()' ist nicht die Lösung. – chepner
@chepner Es ist ein bisschen schwierig, das obige ist nur ein Skelett einer Klasse in der Python-Standard-Bibliothek (in file1.py definiert). file2.py ist meine eigene Datei, ich möchte den Code in der Datei in Site-Paketen nicht ändern! – linusg