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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow