Überschreiben in Python
Ich möchte in der Lage sein, Folgendes zu tun
class Parent:
def __init__(self):
pass
def Create(self):
return 'Password'
class Child(Parent):
def __init__(self):
self.Create()
def Create(self):
return 'The '+self.Create #I want to return 'The Password'
Ich würde gerne eine übergeordnete Funktion aus einer untergeordneten Klasse in eine Funktion, die man überschreiben es. Ich bin mir nicht sicher, wie dies zu tun.
Dies ist ein wenig schwer zu erklären, kommentieren, wenn Sie Schwierigkeiten mit dem Verständnis.
Edit:
Danke für die Antworten an alle, ich dachte fast, dass dies unmöglich war.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die
super()
- Funktion ist gedacht für Fälle wie diese. Jedoch, es funktioniert nur auf "new style" - Klassen, so müssen Sie ändern Ihre definition vonParent
Erben vonobject
als gut (Sie sollten immer mithilfe von "new-style" - Klassen, sowieso).Entweder auf die Eltern explizit oder (new-style-Klassen) verwenden,
super()
.So einfach ist, als Verweis auf die Basisklasse über super:
Verwenden Sie die
super
- Funktion Zugriff auf die übergeordnetesuper(Child,self).create()
zu nennen, von den Eltern.