Python Language
Überschreiben der Methode
Suche…
Grundlegende Methode überschreiben
Hier ist ein Beispiel für die grundlegende Überschreibung in Python (aus Gründen der Klarheit und Kompatibilität mit Python 2 und 3, unter Verwendung der neuen Stilklasse und print
mit ()
):
class Parent(object):
def introduce(self):
print("Hello!")
def print_name(self):
print("Parent")
class Child(Parent):
def print_name(self):
print("Child")
p = Parent()
c = Child()
p.introduce()
p.print_name()
c.introduce()
c.print_name()
$ python basic_override.py
Hello!
Parent
Hello!
Child
Wenn die Child
Klasse erstellt wird, erbt sie die Methoden der Parent
Klasse. Dies bedeutet, dass alle Methoden, die die übergeordnete Klasse hat, auch die untergeordnete Klasse haben. Im Beispiel ist die introduce
für die Child
Klasse definiert, da sie für Parent
definiert ist, obwohl sie nicht explizit in der Klassendefinition von Child
.
In diesem Beispiel tritt das Überschreiben auf, wenn Child
seine eigene Methode print_name
definiert. Wenn diese Methode nicht deklariert wurde, hätte c.print_name()
"Parent"
gedruckt. Allerdings Child
hat die außer Kraft gesetzt Parent
‚s Definition von print_name
, und so jetzt beim Aufruf c.print_name()
, das Wort "Child"
wird gedruckt.