Python OOPs: Klasse, Objekt, Arv og Konstruktør med eksempel
OOPs inn Python
OOPs inn Python er en programmeringstilnærming som fokuserer på å bruke objekter og klasser på samme måte som andre generelle programmeringsspråk. Objektene kan være alle enheter i den virkelige verden. Python lar utviklere utvikle applikasjoner ved å bruke OOPs-tilnærmingen med hovedfokus på gjenbrukbarhet av kode. Det er veldig enkelt å lage klasser og objekter i Python.
Hva er en klasse?
En klasse i Python er en logisk gruppering av data og funksjoner. Det gir frihet til å lage datastrukturer som inneholder vilkårlig innhold og dermed lett tilgjengelig.
For eksempel, for enhver bankansatt som ønsker å hente kundeopplysningene på nettet, vil gå til kundeklasse, hvor alle dens attributter som transaksjonsdetaljer, uttaks- og innskuddsdetaljer, utestående gjeld osv. vil bli oppført.
Hvordan definere Python klasser
For å definere klasse må du vurdere følgende punkter
Trinn 1) In Python, klasser er definert av "Klasse" søkeord
class myClass():
Trinn 2) Inne i klasser kan du definere funksjoner eller metoder som er en del av denne klassen
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Her har vi definert metode1 som skriver ut "Guru99."
- En annen metode vi har definert er metode2 som skriver ut "Software Testing" + SomeString. SomeString er variabelen som leveres av kallemetoden
Trinn 3) Alt i en klasse er innrykket, akkurat som koden i funksjonen, loopen, if-setningen osv. Alt som ikke er innrykket er ikke i klassen
MERKNADER: Om å bruke «selv» i Python
- Selvargumentet refererer til selve objektet. Derav bruken av ordet selv. Så inne i denne metoden vil jeg referere til den spesifikke forekomsten av dette objektet som blir operert.
- Selv er navnet foretrukket av konvensjonen av Pythons for å indikere den første parameteren for instansmetoder i Python. Det er en del av Python syntaks for å få tilgang til medlemmer av objekter
Trinn 4) Å lage et objekt av klassen
c = myClass()
Trinn 5) Å kalle en metode i en klasse
c.method1()
c.method2(" Testing is fun")
- Legg merke til at når vi kaller metode1 eller metode2, trenger vi ikke oppgi selvsøkeordet. Det håndteres automatisk for oss av Python kjøretid.
- Python runtime vil sende "selv" verdi når du kaller en instansmetode på i instans, enten du gir den bevisst eller ikke
- Du må bare bry deg om ikke-selv-argumentene
Trinn 6) Her er den komplette koden
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Hvordan arv fungerer
Arv er en funksjon som brukes i objektorientert programmering; det refererer til å definere en ny klasse med mindre eller ingen modifikasjon til en eksisterende klasse. Den nye klassen heter avledet klasse og fra en som den arver kalles basen. Python støtter arv; den støtter også flere arv. En klasse kan arve attributter og atferdsmetoder fra en annen klasse kalt underklasse eller arvingsklasse.
Python Arvesyntaks
class DerivedClass(BaseClass):
body_of_derived_class
Trinn 1) Kjør følgende kode
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Legg merke til at metode1 i childClass ikke er definert, men den er avledet fra overordnet myClass. Utgangen er "Guru99."
Trinn 2) Uncomment Line #8 & 10. Kjør koden
Nå er metode 1 definert i childClass og utdata "childClass Method1" vises riktig.
Trinn 3) Fjern kommentar linje #9. Kjør koden
Du kan kalle en metode for overordnet klasse ved å bruke syntaksen
ParentClassName.MethodName(self)
I vårt tilfelle kaller vi, myClass.method1(self) og Guru99 skrives ut som forventet
Trinn 4) Fjern kommentar linje #19. Kjør koden.
Metode 2 av barneklassen kalles og "barnKlasse metode2" skrives ut som forventet.
Python Konstruktører
En konstruktør er en klassefunksjon som instansierer et objekt til forhåndsdefinerte verdier.
Det begynner med en dobbel understreking (_). Det __init__() metoden
I eksemplet nedenfor tar vi navnet på brukeren som bruker konstruktør.
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
Utgang vil være:
Velkommen til Guru99, Alex
Python 2 Eksempel
Kodene ovenfor er Python 3 eksempler, hvis du vil løpe inn Python 2 vurder følgende kode.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Lær vår neste veiledning om Polymorfisme i Python
Sammendrag
"Klasse" er en logisk gruppering av funksjoner og data. Python klasse gir alle standardfunksjonene til objektorientert programmering.
- Klasse arvemekanisme
- En avledet klasse som overstyrer hvilken som helst metode for sin basisklasse
- En metode kan kalle metoden til en basisklasse med samme navn
- Python Klasser er definert av nøkkelord "klasse" selv
- Inne i klasser kan du definere funksjoner eller metoder som er en del av klassen
- Alt i en klasse er rykket inn, akkurat som koden i funksjonen, loopen, if-setningen osv.
- Selvargumentet i Python refererer til selve objektet. Selv er navnet foretrukket av konvensjonen av Pythons for å indikere den første parameteren for instansmetoder i Python
-
Python runtime vil overføre "selv" verdi automatisk når du kaller en instansmetode på i instans, enten du gir den bevisst eller ikke
- In Python, kan en klasse arve attributter og atferdsmetoder fra en annen klasse kalt underklasse eller arvingsklasse.


