Python Language
Methode opheffen
Zoeken…
Basismethode overschrijven
Hier is een voorbeeld van basisoverschrijving in Python (voor de duidelijkheid en compatibiliteit met zowel Python 2 als 3, met behulp van nieuwe stijlklasse en print
met ()
):
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
Wanneer de klasse Child
wordt gemaakt, neemt deze de methoden van de klasse Parent
. Dit betekent dat alle methoden die de bovenliggende klasse heeft, ook de onderliggende klasse zullen hebben. In het voorbeeld is de introduce
gedefinieerd voor de klasse Child
omdat deze is gedefinieerd voor Parent
, hoewel deze niet expliciet is gedefinieerd in de klassendefinitie van Child
.
In dit voorbeeld gebeurt het overschrijven wanneer Child
zijn eigen methode print_name
definieert. Als deze methode niet was aangegeven, zou c.print_name()
"Parent"
hebben afgedrukt. Echter, Child
heeft overschreven de Parent
's definitie van print_name
, en dus nu op te roepen c.print_name()
, het woord "Child"
wordt afgedrukt.