Python Ride Base Class Method

Python Ride Base Class Method


Python oppfører seg som en fullt funksjonell objektorientert programmeringsspråk (OOP). For å dra nytte av OOP, må programmerere forstå begreper som klasser og arv. Ved hjelp av arv betyr å bygge klasser som bruker funksjonaliteten til flere grunnleggende klasser som en stiftelse. Denne praksisen inkluderer også muligheten for klasser å redefinere eldre klasser metoder for spesifikke bruksområder.

Klasser i Python

Klassene jobber som skissene for objekter, å definere hva de gjør og hvordan de fungerer sammen med andre gjenstander. Vanligvis ser en klasse erklæring som ligner på dette eksempelet:

klasse MyClass:

// Klassedefinisjon

Klassen definisjon er der programmerer legger ut hvilke handlinger et objekt kan gjøre, og hva slags informasjon det holder. En grunnleggende fremgangsmåte for en klasse er "init" -metoden, som bestemmer hva som skjer når et objekt av klassen er opprettet:

def init (egen-):

self.x = 1

self.y = 2

Denne metoden i klassen MyClass vil sikre at hver MyClass Object har en x- og en y-verdi lik 1 og 2, respektivt.

avledet Classes

Noen klasser vil dele lignende funksjonalitet med andre klasser, men utvide den funksjonaliteten. For eksempel ta en klasse "Ball", som kan representere en fotball (i koden). Anta også at det eksisterer en klasse "sfære" som representerer en enkelt sfære og inneholder radien (r) og en fremgangsmåte for å beregne overflatearealet (Sarea ()). I dette tilfelle, er den eneste forskjellen mellom de to som klassen "Ball" behov for ytterligere informasjon, for å ta opp farge. Derfor, i stedet for å måtte skrive inn koden fra "Sphere" inn "Ball", programmerer bare stammer Ball fra Sphere:

klasse Ball (Sphere):

Nå kan klasse Ball tilgang til noen metode eller data av klasse Sphere (r, Sarea ()), og bruke den for seg selv).

Ordnede Base Metoder

Programmereren da kan ønske å sørge for at hver ball har en start farge sammen med sin radius. The Sphere klassen ' "init" -funksjonen ser slik ut:

def init (egen-):

self.r = 5

Så hver Sphere objekt har en standard radius av 5. klasse ball kan overstyre denne metoden ved å definere det i sin egen klasse. Så Ball "init" metoden kan se slik ut:

def init (egen-):

self.color = rød

Så nå Ball standardfarge vil være rød.

Overstyre og bruke en Base Method

Men fordi Ball "init" overstyrer base klassen "init" base klassen "init" utfører aldri. Dette er nødvendig. I Python, kan det overordnede metoden kaller metoden det er overordnet som pari for gjennomføringen:

def init (egen-):

Sphere. Init (egen-)

self.color = rød

Dette sikrer at basisinitialiseringen finner sted, at ballen har en radius og en farge.