Python OOPs: klasse, objekt, arv og konstruktør med eksempel

Innholdsfortegnelse:

Anonim

OOP i Python

OOPs i Python er en programmeringsmetode som fokuserer på å bruke objekter og klasser som de samme som andre generelle programmeringsspråk. Objektene kan være hvilke som helst virkelige enheter. Python lar utviklere utvikle applikasjoner ved hjelp av OOPs-tilnærmingen, med hovedfokus på kode gjenbrukbarhet. 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 alle bankansatte som ønsker å hente kundeopplysningene online, vil de gå til kundeklasse , der alle dets attributter som transaksjonsdetaljer, uttaks- og innskuddsdetaljer, utestående gjeld osv. Vil bli oppført.

I denne veiledningen vil vi lære,

  • Hvordan definere Python-klasser
  • Hvordan Arv fungerer
  • Python Constructors

Hvordan definere Python-klasser

For å definere klasse må du vurdere følgende punkter

Trinn 1) I Python er klasser definert av søkeordet "Klasse"

class myClass():

Trinn 2) Inne i klasser kan du definere funksjoner eller metoder som inngår i 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 method2 som skriver ut "Software Testing" + SomeString. SomeString er variabelen som leveres av anropsmetoden

Trinn 3) Alt i en klasse er innrykket, akkurat som koden i funksjonen, loop, if statement, etc. Alt som ikke er innrykket er ikke i klassen

MERKNAD : Om bruk av "selv" i Python

  • Selvargumentet refererer til selve objektet. Derav bruken av ordet selv. Så inne i denne metoden vil selv referere til den spesifikke forekomsten av dette objektet som blir operert.
  • Selv er navnet foretrukket av konvensjon av Pythons for å indikere den første parameteren for forekomstmetoder i Python. Det er en del av Python-syntaksen 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 method1 eller method2, trenger vi ikke å oppgi selvordet. Det blir automatisk håndtert for oss av Python-kjøretiden.
  • Python-kjøretid vil for eksempel gi "selv" -verdien når du for eksempel kaller en forekomstmetode, enten du gir den bevisst eller ikke
  • Du må bare bry deg om ikke-selvargumentene

Trinn 6) Her er den fullstendige koden

# Eksempelfil for å jobbe med klasserklasse myClass ():def metode1 (selv):trykk ("Guru99")def metode2 (selv, noenString):skriv ut ("Software Testing: + someString)def main ():# trene klassemetodenec = myClass ()c.method1 ()c.method2 ("Testing er gøy")hvis __navn __ == "__main__":hoved()

Hvordan Arv fungerer

Arv er en funksjon som brukes i objektorientert programmering; det refererer til å definere en ny klasse med mindre eller ingen endringer i en eksisterende klasse. Den nye klassen kalles 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 som kalles underklasse eller arveklasse.

Python Arv Syntaks

class DerivedClass(BaseClass):body_of_derived_class

Trinn 1) Kjør følgende kode

# Eksempelfil for å jobbe med klasserklasse myClass ():def metode1 (selv):trykk ("Guru99")klasse childClass (myClass):#def method1 (selv):# myClass.method1 (selv);#print ("childClass Method1")def metode2 (selv):utskrift ("childClass method2")def main ():# trene klassemetodenec2 = childClass ()c2.method1 ()# c2.method2 ()hvis __navn __ == "__main__":hoved()

Legg merke til at i childClass, metode 1 ikke er definert, men den er avledet fra den overordnede myClass. Produksjonen er "Guru99."

Trinn 2) Kommentarlinje 8 & 10. Kjør koden

Nå er metoden 1 definert i childClass og utdata "childClass Method1" vises riktig.

Trinn 3) Kommentarlinje 9. Kjør koden

Du kan ringe en metode fra foreldreklassen ved hjelp av syntaksen

ParentClassName.MethodName(self)

I vårt tilfelle kaller vi, myClass.method1 (selv) og Guru99 skrives ut som forventet

Trinn 4 ) Kommentarlinje nr. 19. Kjør koden.

Metode 2 i barneklassen kalles og "childClass method2" skrives ut som forventet.

Python Constructors

En konstruktør er en klassefunksjon som instantierer et objekt til forhåndsdefinerte verdier.

Det begynner med dobbelt understreking (_). Det __init __ () -metoden

I eksemplet nedenfor tar vi navnet på brukeren ved hjelp av konstruktør.

class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()

Produksjonen vil være:

Velkommen til Guru99, Alex

Python 2 Eksempel

Ovenfor koder er eksempler på Python 3. Hvis du vil kjøre i Python 2, kan du vurdere å følge koden.

# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()

Sammendrag:

"Klasse" er en logisk gruppering av funksjoner og data. Python-klassen gir alle standardfunksjonene i Object Oriented Programming.

  • Klassearvsmekanisme
  • En avledet klasse som overstyrer enhver metode i basisklassen
  • En metode kan kalle metoden til en basisklasse med samme navn
  • Python-klasser er definert av søkeordet "klasse" selv
  • Inne i klasser kan du definere funksjoner eller metoder som er en del av klassen
  • Alt i en klasse er innrykket, akkurat som koden i funksjonen, loop, if statement, etc.
  • Selvargumentet i Python refererer til selve objektet. Selv er navnet foretrukket av konvensjon av Pythons for å indikere den første parameteren for forekomstmetoder i Python
  • Python-kjøretid vil overføre "selv" -verdien automatisk når du for eksempel kaller en forekomstmetode, enten du gir den bevisst eller ikke
  • I Python kan en klasse arve attributter og atferdsmetoder fra en annen klasse som kalles underklasse eller arveklasse.