Python OOP: klase, objekts, mantojums un konstruktors ar piemēru

Satura rādītājs:

Anonim

OOP Python

OOPs Python ir programmēšanas pieeja, kas koncentrējas uz objektu un klašu izmantošanu tāpat kā citas vispārīgas programmēšanas valodas. Objekti var būt jebkuras reālās pasaules vienības. Python ļauj izstrādātājiem izstrādāt lietojumprogrammas, izmantojot OOPs pieeju, galveno uzmanību pievēršot koda atkārtotai lietošanai. Python ir ļoti viegli izveidot klases un objektus.

Kas ir klase?

Klase Python ir loģiska datu un funkciju grupēšana. Tas dod brīvību izveidot tādu datu struktūru, kas satur patvaļīgu saturu un tādējādi viegli pieejamu.

Piemēram, jebkuram bankas darbiniekam, kurš vēlas iegūt klienta informāciju tiešsaistē, būtu jādodas uz klientu klasi , kur būtu uzskaitīti visi tā atribūti, piemēram, informācija par darījumiem, informācija par izņemšanu un depozītu, nesamaksātais parāds utt.

Šajā apmācībā mēs iemācīsimies,

  • Kā definēt Python klases
  • Kā darbojas mantošana
  • Python konstruktori

Kā definēt Python klases

Lai definētu klasi, jāņem vērā šādi punkti

1. solis) Python klasēs tiek noteikts atslēgvārds “Klase”

class myClass():

2. solis. Nodarbībās varat definēt funkcijas vai metodes, kas ietilpst šajā klasē

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Šeit mēs esam definējuši metodi1, kas izdrukā "Guru99".
  • Vēl viena mūsu definēta metode ir metode2, kas drukā “Programmatūras testēšana” + SomeString. SomeString ir mainīgais, ko nodrošina izsaukšanas metode

3. solis) Viss klasē ir ievilkts, tāpat kā kods funkcijā, cilpa, ja paziņojums utt. Viss, kas nav ievilkts, nav klasē

PIEZĪME : Par "self" izmantošanu Python

  • Paš argumentācija attiecas uz pašu objektu. Tāpēc tiek izmantots vārds pats. Tāpēc šīs metodes ietvaros pats atsauksies uz konkrēto šī objekta gadījumu, kas tiek darbināts.
  • Pats ir nosaukums, kuru Pitons dod priekšroku, lai norādītu pirmo instances metožu parametru Python. Tā ir daļa no Python sintakses, lai piekļūtu objektu dalībniekiem

4. solis) Lai izveidotu klases objektu

c = myClass()

5. solis. Lai izsauktu metodi klasē

c.method1()c.method2(" Testing is fun")
  • Ievērojiet, ka, izsaucot metodi1 vai metodi2, mums nav jāsniedz pašvārds. To automātiski mums nodrošina Python izpildlaiks.
  • Python izpildlaiks nodos “self” vērtību, ja, piemēram, izsauksit instances metodi, neatkarīgi no tā, vai to norādāt apzināti vai ne
  • Jums vienkārši jārūpējas par argumentiem, kas nav paši

6. solis) Šeit ir pilns kods

# Faila piemērs darbam ar klasēmklase myClass ():def metode1 (sevis):drukāt ("Guru99")def metode2 (self, someString):drukāt ("Programmatūras testēšana: + someString)def main ():# izmantot klases metodesc = myClass ()c. 1. metode ()c.metode2 ("Pārbaudīt ir jautri")ja __nosaukums __ == "__main__":galvenais ()

Kā darbojas mantošana

Mantošana ir funkcija, kas tiek izmantota objektorientētā programmēšanā; tas attiecas uz jaunas klases noteikšanu, mazāk vai bez izmaiņām esošajā klasē. Jauno klasi sauc par atvasināto klasi, un no tās, kuru tā pārmanto, sauc par bāzi . Python atbalsta mantošanu; tas atbalsta arī vairākus mantojumus . Klase var mantot atribūtus un uzvedības metodes no citas klases, ko sauc par apakšklasi vai mantinieku klasi.

Pitona mantojuma sintakse

class DerivedClass(BaseClass):body_of_derived_class

1. darbība. Palaidiet šo kodu

# Faila piemērs darbam ar klasēmklase myClass ():def metode1 (sevis):drukāt ("Guru99")klases childClass (myClass):# def metode1 (pats):# myClass.method1 (pats);#print ("childClass Method1")def metode2 (sevis):drukāt ("childClass2 metode")def main ():# izmantot klases metodesc2 = childClass ()c2.metode1 ()# c2.metode2 ()ja __nosaukums __ == "__main__":galvenais ()

Ievērojiet, ka in childClass, method1 nav definēts, bet tas ir atvasināts no vecākā myClass. Rezultāts ir "Guru99".

2. solis. Noņemiet komentāru no 8. un 10. rindas. Palaidiet kodu

1. metode ir definēta childClass un izeja "childClass Method1" ir pareizi parādīta.

3. solis. Noņemiet komentāru no 9. rindas. Palaidiet kodu

Izmantojot sintaksi, varat izsaukt vecāku klases metodi

ParentClassName.MethodName(self)

Mūsu gadījumā mēs izsaucam, myClass.method1 (self) un Guru99 tiek drukāts, kā paredzēts

4. solis. Noņemiet komentāru no 19. rindas. Palaidiet kodu.

Tiek izsaukta bērnu klases 2. metode un, kā paredzēts, tiek izdrukāta "childClass method2".

Python konstruktori

Konstruktors ir klases funkcija, kas momentāno objektu uz iepriekš noteiktām vērtībām.

Tas sākas ar dubultu pasvītrojumu (_). Tā __init __ () metode

Zemāk esošajā piemērā mēs ņemam lietotāja vārdu, izmantojot konstruktoru.

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

Rezultāts būs:

Laipni lūdzam vietnē Guru99, Alekss

Python 2 piemērs

Iepriekš minētie kodi ir Python 3 piemēri. Ja vēlaties palaist Python 2, lūdzu, apsveriet šādu kodu.

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

Kopsavilkums:

"Klase" ir loģiska funkciju un datu grupēšana. Python klase nodrošina visas uz objektu orientētās programmēšanas standarta funkcijas.

  • Klases mantojuma mehānisms
  • Atvasināta klase, kas ignorē jebkuru tās bāzes klases metodi
  • Metode var izsaukt bāzes klases metodi ar tādu pašu nosaukumu
  • Python Nodarbības ir definētas pēc atslēgvārda "klases" pati
  • Nodarbību iekšpusē varat definēt funkcijas vai metodes, kas ir klases daļa
  • Viss klasē ir ievilkts, tāpat kā kods funkcijā, cilpa, ja paziņojums utt.
  • Paštonis Python atsaucas uz pašu objektu. Pats ir nosaukums, kuru Pitons dod priekšroku, lai norādītu pirmo instances metožu parametru Python
  • Python izpildlaiks automātiski nodos “self” vērtību, ja, piemēram, izsauksit instances metodi, neatkarīgi no tā, vai to sniedzat apzināti vai ne
  • Programmā Python klase var mantot atribūtus un uzvedības metodes no citas klases, ko sauc par apakšklasi vai mantinieku klasi.