Python

Python Arv

Python Arv

Python er et objektorientert programmeringsspråk. I et objektorientert programmeringsspråk lager vi klassene og utfører den tiltenkte funksjonaliteten. Arv er det grunnleggende trekk ved objektorienterte programmeringsspråk. Arv kan defineres som evnen til en klasse til å arve alle funksjonene og egenskapene til en annen klasse. Arv tillater i hovedsak en å utvide egenskapene til en eksisterende klasse. Arv er utnyttet med de to hovedkonseptene:

  1. Foreldreklasse eller baseklasse
  2. Barneklasse eller avledet klasse

Foreldreklassen er klassen som lar andre klasser arves fra. Det kalles også Base Class. Barneklassen eller avledet klasse er den klassen som arver alle egenskapene og funksjonene til en annen klasse. Arv fremmer flere fordeler, dvs.e., det er representasjonen av det virkelige verdensarvfenomenet. Det oppmuntrer til gjenbrukbarhet av kode. Hvis en funksjon er definert i en klasse, kan den andre klassen arve denne klassen og bruke alle eksisterende funksjoner. Det er ikke nødvendig å skrive den samme koden igjen og igjen for å utføre lignende oppgaver. Arv brukes på flere nivåer. For eksempel, hvis klasse B arves fra A og klasse C arves fra klasse B, har klasse C alle egenskapene til klasse B og i tillegg til klasse A. Syntaksen for arv er som følger:

Klasse ForelderKlasse:
Implementeringsdetaljer for foreldreklassen
klasse ChildClass:
Implementeringsdetaljer for barneklassen

Selv om barneklassen har tilgang til alle funksjonene og funksjonene i foreldreklassen, kan den imidlertid også legge til sine nye funksjoner og funksjoner.

Denne artikkelen beskriver og dekker alle aspektene av Python-arv.

Arv implementering i Python

Arv kan brukes i mange situasjoner. La oss anta at du bygger et programvaresystem for et universitet. Den kan bestå av flere interessenter som studenter, lærere, ansatte osv. Så hver person har navn, alder, e-postadresse og andre vanlige egenskaper. Det er ikke nødvendig å erklære alle eiendommene i hver klasse separat. Vi kan lage en personerklasse, og alle interessentklassene kan arve alle de vanlige egenskapene og funksjonene fra personklassen. I dette tilfellet er det ikke nødvendig å skrive de vanlige egenskapene i hver klasse igjen og igjen. På samme måte kan vi vurdere en dyreklasse. Det er hundrevis av dyretyper i denne verdenen. Alle dyrene spiser, sover og har også noen arter. Dette konseptet kan også implementeres ved hjelp av arv.

La oss betrakte dyret som en superklasse og implementere arven. I eksemplet nedenfor har vi opprettet en dyreklasse. Dyreklassen er foreldreklassen. Videre har vi laget hund- og katteklassene som arver dyreklassens egenskaper og funksjoner. Passord-nøkkelordet brukes i barneklassen når vi ikke trenger å implementere utvidet funksjonalitet i barneklassen.

# skaper foreldreklasse
klasse Dyr:
#initialization-funksjon
#initilisering av dyrenavnet og artstypen
def __init __ (selv, navn, spesie_type):
selv-.navn = navn
selv-.specie_type = specie_type
#a funksjon for å skrive ut dyrenavnet
def utskriftsnavn (selv):
trykk ("Navnet på dyret er:", selv.Navn)
#a funksjon for å skrive ut dyretypen
def utskriftsart (selv):
print ("Type type er:", selv.specie_type)
# skape hundeklassen som barneklasse i dyreklassen
klasse Hund (dyr):
# ingen utvidelse eller modifikasjon
sende
#now dog class har tilgang til alle funksjonene og egenskapene til dyreklassen
# skape hundeklasseobjektet
dogObj = Hund ("Hund", "kjøtteter")
hundObj.utskriftsnavn ()
hundObj.utskriftsart ()
# skaper katteklassen som barneklasse i dyreklassen
klasse Katt (dyr):
# initiliseringsfunksjonen til katteklassen
def __init __ (selv):
#kalling og bruk av dyreklasse initiliseringsfunksjon
Dyr.__init __ (selv, "katt", "kjøttetende pattedyr")
#now cat class har tilgang til alle funksjonene og egenskapene til dyreklassen
#creating the cat class object
catObj = Cat ()
catObj.utskriftsnavn ()
catObj.utskriftsart ()

Produksjon

De "Dyr.__init __ (selv, "katt", "kjøttetende pattedyr") " samtalen er initialiseringsfunksjonen til dyreklassen.

Super () -funksjonen

Python gir en innebygd super () -funksjon for å arve alle egenskapene og funksjonene til overordnede klassen. Når vi bruker super () -funksjonen, er det ikke nødvendig å nevne navnet på foreldreklassen slik vi gjorde i "Dyr.__init __ (selv, "katt", "kjøttetende pattedyr") " men super () -funksjonen peker automatisk på foreldreklassen. La oss bruke superfunksjonen.

# skaper foreldreklasse
klasse Dyr:
#initialization-funksjon
#initilisering av dyrenavnet og artstypen
def __init __ (selv, navn, spesie_type):
selv-.navn = navn
selv-.specie_type = specie_type
#a funksjon for å skrive ut dyrenavnet
def utskriftsnavn (selv):
trykk ("Navnet på dyret er:", selv.Navn)
#a funksjon for å skrive ut dyretypen
def utskriftsart (selv):
print ("Type type er:", selv.specie_type)
# skape hundeklassen som barneklasse i dyreklassen
klasse Hund (dyr):
# bruker super () -funksjon
def __init __ (selv, navn, spesie_type):
super().__init __ (navn, type_type)
#now dog class har tilgang til alle funksjonene og egenskapene til dyreklassen
# skape hundeklasseobjektet
dogObj = Hund ("Hund", "kjøtteter")
hundObj.utskriftsnavn ()
hundObj.utskriftsart ()
# skape katteklassen som barneklasse i dyreklassen
klasse Katt (dyr):
# initiliseringsfunksjonen til katteklassen
# bruker super () -funksjon
def __init __ (selv, navn, spesie_type):
super().__init __ (navn, spesie_type)
#now cat class har tilgang til alle funksjonene og egenskapene til dyreklassen
#creating the cat class object
catObj = Cat ("katt", "kjøttetende pattedyr")
catObj.utskriftsnavn ()
catObj.utskriftsart ()

Produksjon

La oss nå legge til noen flere funksjoner i barneklasser. Hver klasse arver de vanlige egenskapene og funksjonene fra foreldreklassen, men barneklassen kan ha en ekstra klasse som er beregnet på denne klassen. La oss nå lage noen ekstra egenskaper og funksjoner i hunden og katteklassen.

# skaper foreldreklasse
klasse Dyr:
#initialization-funksjon
#initilisering av dyrenavnet og artstypen
def __init __ (selv, navn, spesie_type):
selv-.navn = navn
selv-.specie_type = specie_type
#a funksjon for å skrive ut dyrenavnet
def utskriftsnavn (selv):
trykk ("Navnet på dyret er:", selv.Navn)
#a funksjon for å skrive ut dyretypen
def utskriftsart (selv):
print ("Type type er:", selv.specie_type)
# skape hundeklassen som barneklasse i dyreklassen
klasse Hund (dyr):
# bruker super () -funksjon
#pet name er nylig lagt til funksjonalitet
def __init __ (selv, navn, spesieartype, kjæledyrnavn):
super().__init __ (navn, spesie_type)
selv-.kjæledyrnavn = kjæledyrnavn
#opprette en ny funksjon
def printpetname (selv):
utskrift ("Kjæledyrnavnet er:", selv.kjæledyrnavn)
#now dog class har tilgang til alle funksjonene og egenskapene til dyreklassen
# skape hundeklasseobjektet
dogObj = Hund ("Hund", "kjøtteter", "Maks")
hundObj.utskriftsnavn ()
hundObj.utskriftsart ()
hundObj.printpetname ()
# skaper katteklassen som barneklasse i dyreklassen
klasse Katt (dyr):
# initiliseringsfunksjonen til katteklassen
# bruker super () -funksjon
#adding food og pet_name egenskaper
def __init __ (selv, navn, spesieartype, mat, kjæledyrnavn):
super().__init __ (navn, spesie_type)
selv-.mat = mat
selv-.kjæledyrnavn = kjæledyrnavn
# ny funksjon for å få tilgang til matinformasjon
def printfood (selv):
print ("Katten liker:", selvtillit.mat)
# ny funksjon for kjæledyrnavn
def printpetname (selv):
utskrift ("Kjæledyrnavnet er:", selv.kjæledyrnavn)
#now cat class har tilgang til alle funksjonene og egenskapene til dyreklassen
#creating the cat class object
catObj = Cat ("cat", "carnivorous mammal", "Biscuit", "Daisy")
catObj.utskriftsnavn ()
catObj.utskriftsart ()

Produksjon

Funksjonene som overstyrer

Funksjonsoverstyringen er det viktige konseptet i arv. En funksjon kalles en overstyrt funksjon hvis navnet på funksjonen er den samme i foreldre- og barneklasser, men implementeringen eller funksjonaliteten til funksjonen er forskjellig i hver klasse. La oss se eksemplet på overstyrt funksjon i dyreklassen. I eksemplet nedenfor har vi en spisefunksjon i dyreklassene og i barneklasser (Hund og Katt) også. Navnet på funksjonen er den samme i klassene, men implementeringen er forskjellig.

# skaper foreldreklasse
klasse Dyr:
def eat (selv):
print ("Alle dyrene spiser mat")
# skape objekt
animalObj = Animal ()
#calling-funksjon
dyrObj.spise()
#creating dog class
klasse Hund (dyr):
def eat (selv):
utskrift ("Hunden spiser kjøtt")
# skape objekt
dogObj = Hund ()
#calling-funksjon
hundObj.spise()
klasse Katt (dyr):
def eat (selv):
utskrift ("Katten spiser kjeks og litt spesiell mat")
# skape objekt
catObj = Cat ()
#calling-funksjon
catObj.spise()

Produksjon

Konklusjon

Arv er et av de grunnleggende konseptene til objektorienterte programmeringsspråk. Ved å bruke arv oppretter vi barneklasser som arver alle funksjonene og egenskapene til overordnede klassen. Arv fremmer kodenes gjenbrukbarhet. Denne artikkelen forklarer arven i Python med eksempler.

Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...