Python OOP: t: luokka, objekti, perintö ja rakentaja esimerkillä

Sisällysluettelo:

Anonim

OOP: t Pythonissa

OOP: t Pythonissa on ohjelmointitapa, joka keskittyy käyttämään objekteja ja luokkia samoin kuin muut yleiset ohjelmointikielet. Kohteet voivat olla mitä tahansa reaalimaailman kokonaisuuksia. Python antaa kehittäjien kehittää sovelluksia käyttämällä OOPs-lähestymistapaa painottaen koodien uudelleenkäytettävyyttä. Luokkien ja objektien luominen Pythonissa on erittäin helppoa.

Mikä on luokka?

Class Pythonissa on tietojen ja toimintojen looginen ryhmittely. Se antaa vapauden luoda tietorakenteita, jotka sisältävät mielivaltaista sisältöä ja siten helposti saatavilla.

Esimerkiksi jokaiselle pankin työntekijälle, joka haluaa hakea asiakastiedot verkossa, menisi asiakasluokkaan , jossa kaikki sen attribuutit, kuten maksutiedot, nosto- ja talletustiedot, maksamatta olevat velat jne., Luetellaan.

Tässä opetusohjelmassa opimme,

  • Kuinka määritellä Python-luokat
  • Kuinka perintö toimii
  • Python-rakentajat

Kuinka määritellä Python-luokat

Luokan määrittelemiseksi on otettava huomioon seuraavat kohdat

Vaihe 1) Pythonissa luokat määritellään avainsanalla "Luokka"

class myClass():

Vaihe 2) Luokkien sisällä voit määrittää funktioita tai menetelmiä, jotka kuuluvat tähän luokkaan

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Tässä on määritelty menetelmä1, joka tulostaa "Guru99".
  • Toinen määrittelemämme menetelmä on menetelmä2, joka tulostaa "Ohjelmistojen testaus" + SomeString. SomeString on kutsumenetelmän tarjoama muuttuja

Vaihe 3) Kaikki luokassa on sisennetty, aivan kuten funktion, silmukan, if-lauseen jne. Koodi. Kaikki, mitä ei ole sisennetty, ei ole luokassa

HUOMAUTUS : Tietoja "itsen" käytöstä Pythonissa

  • Itse-väite viittaa itse esineeseen. Siksi käytetään sanaa itse. Joten tämän menetelmän sisällä itse viittaa tämän objektin tiettyyn esiintymään, jota käytetään.
  • Itse on nimi, jota pythonit suosivat yleisesti ilmaisemaan esimerkkimenetelmien ensimmäisen parametrin Pythonissa. Se on osa Python-syntaksia kohteiden jäsenten käyttämiseen

Vaihe 4) Tee luokan esine

c = myClass()

Vaihe 5) Menetelmän kutsuminen luokassa

c.method1()c.method2(" Testing is fun")
  • Huomaa, että kun kutsumme method1 tai method2, meidän ei tarvitse antaa itse-avainsanaa. Python-ajonaika hoitaa sen meille automaattisesti.
  • Python-ajonaika välittää "itse" -arvon, kun soitat esimerkiksi ilmentymämenetelmää riippumatta siitä, annatko sen tarkoituksellisesti vai ei
  • Sinun täytyy vain välittää ei-itse-argumenteista

Vaihe 6) Tässä on täydellinen koodi

# Esimerkkitiedosto luokkien kanssa työskentelyä vartenluokka myClass ():def-menetelmä1 (itse):tulosta ("Guru99")def-menetelmä2 (itse, jotkutString):tulosta ("Ohjelmistojen testaus: + someString)def main ():# käyttää luokan menetelmiäc = myClass ()c. menetelmä1 ()c.metode2 ("Testaus on hauskaa")jos __nimi __ == "__main__":main ()

Kuinka perintö toimii

Perintö on ominaisuus, jota käytetään olio-ohjelmoinnissa; se viittaa uuden luokan määrittelemiseen siten, että olemassa olevaan luokkaan tehdään vähemmän muutoksia tai ei muutoksia. Uutta luokkaa kutsutaan johdetuksi luokaksi ja siitä, jonka se perii, kutsutaan perustaksi . Python tukee perintöä; se tukee myös useita perintöjä . Luokka voi periä määritteet ja käyttäytymistavat toisesta luokasta, jota kutsutaan alaluokka- tai perillisluokaksi.

Python-perintösyntaksi

class DerivedClass(BaseClass):body_of_derived_class

Vaihe 1) Suorita seuraava koodi

# Esimerkkitiedosto luokkien kanssa työskentelyä vartenluokka myClass ():def-menetelmä1 (itse):tulosta ("Guru99")luokan childClass (myClass):#def method1 (itse):# myClass.method1 (itse);#print ("childClass Method1")def menetelmä 2 (itse):tulosta ("childClass method2")def main ():# käyttää luokan menetelmiäc2 = lapsiluokka ()c2.metod1 ()# c2.metodi2 ()jos __nimi __ == "__main__":main ()

Huomaa, että in childClass -menetelmää1 ei ole määritelty, mutta se on johdettu ylätason myClassista. Tulos on "Guru99".

Vaihe 2) Poista kommentit riviltä # 8 ja 10. Suorita koodi

Menetelmä 1 on nyt määritelty childClassissa ja lähtö "childClass Method1" näytetään oikein.

Vaihe 3) Poista kommentti rivi # 9. Suorita koodi

Voit kutsua vanhempaluokan menetelmän syntaksin avulla

ParentClassName.MethodName(self)

Meidän tapauksessamme kutsumme myClass.method1 (itse) ja Guru99 tulostetaan odotetusti

Vaihe 4 ) Kommentin poistaminen riviltä # 19. Suorita koodi.

Lapsiluokan menetelmää 2 kutsutaan ja "childClass method2" tulostetaan odotusten mukaisesti.

Python-rakentajat

Rakentaja on luokan funktio, joka instantioi objektin ennalta määritettyihin arvoihin.

Se alkaa kaksoisviivalla (_). Se __init __ () -menetelmä

Alla olevassa esimerkissä otamme käyttäjän nimen käyttämällä konstruktoria.

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

Tulos on:

Tervetuloa Guru99: een, Alex

Python 2 -esimerkki

Yllä olevat koodit ovat esimerkkejä Python 3: sta, jos haluat suorittaa ne Python 2: ssa, harkitse seuraavaa koodia.

# 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()

Yhteenveto:

"Luokka" on funktioiden ja tietojen looginen ryhmittely. Python-luokka tarjoaa kaikki olio-ohjelmoinnin perusominaisuudet.

  • Luokan perintämekanismi
  • Johdettu luokka, joka ohittaa minkä tahansa perusluokan menetelmän
  • Menetelmä voi kutsua saman luokan perusluokan menetelmää
  • Python Sarjat määritellään avainsanan "luokka" itse
  • Luokkien sisällä voit määrittää funktiot tai menetelmät, jotka ovat osa luokkaa
  • Kaikki luokassa on sisennetty, aivan kuten funktion, silmukan, if-lauseen jne. Koodi.
  • Pythonin oma argumentti viittaa itse objektiin. Itse on nimi, jota pythonit suosivat yleisesti ilmaisemaan ilmentymämenetelmien ensimmäisen parametrin Pythonissa
  • Python-ajonaika siirtää itsensä arvon automaattisesti, kun soitat esimerkiksi ilmentymämenetelmään riippumatta siitä, annatko sen tarkoituksella vai ei
  • Pythonissa luokka voi periä määritteet ja käyttäytymismenetelmät toisesta luokasta, jota kutsutaan alaluokka- tai perillisluokaksi.