Hvordan å overstyre en funksjon i Python

Hvordan å overstyre en funksjon i Python


Situasjoner oppstår i programmering, der du må overstyre atferden til en innebygd funksjon. I programmeringsspråket Python, kan metoder for en klasse overstyre standardmetoder med annen kode. I objektorientert programmering, er en klasse en definisjon av et objekt som definerer egenskapene til et objekt som instansvariabler og funksjoner som objektet kaller som metoder. For å overstyre en innebygd funksjon i Python, opprette en egendefinert klasse som definerer en metode med samme navn som den funksjonen du prøver å overstyre.

Bruksanvisning

1 Definere en egendefinert klasse. Skriv "class MyClass:" for en helt ny klasse eller "class MyClass (super):" for en underklasse, der du ville erstatte super med klassen navnet på klassen du vil at klassen å arve fra. En klasse arver alt av metoder og instansvariabelen av det er super, selv om disse kan overstyres.

2 Definer en klasse metode med samme navn som den du ønsker å overstyre. For eksempel, kan du ønsker å overstyre "init" -funksjonen for å gjøre egendefinert initialisering når du oppretter en forekomst av den nye klassen eller overstyre "display" funksjon for å vise dataene fra klassen din på en tilpasset måte. For å overstyre begge disse funksjonene, kan koden din nå lese:

klasse MyClass:

def __init__():

def display ():

3 Programmere tilpasset kode for overstyrt klassemetoder. Koden er helt opp til et spesifikt formål, men kan lese noe sånt som:

klasse MyClass:

def __init__(self,value):

self.data = verdi

def skjerm (selv, verdi):

print self.data

Her selv variable passerer forekomsten av MyClass objektet til klassemetode.