Pythoni OOP-d: klass, objekt, pärand ja konstruktor koos näitega

Lang L: none (table-of-contents):

Anonim

OOP-d Pythonis

OOP-d Pythonis on programmeerimisviis, mis keskendub objektide ja klasside kasutamisele samamoodi nagu teised üldised programmeerimiskeeled. Objektid võivad olla mis tahes reaalse maailma üksused. Python võimaldab arendajatel arendada rakendusi, kasutades OOP-ide lähenemist, pöörates põhitähelepanu koodi korduvkasutusele. Klasside ja objektide loomine Pythonis on väga lihtne.

Mis on klass?

Klass Pythonis on andmete ja funktsioonide loogiline grupeerimine. See annab vabaduse luua andmestruktuure, mis sisaldavad meelevaldset sisu ja on seetõttu hõlpsasti kättesaadavad.

Näiteks läheks iga pangatöötaja, kes soovib kliendiandmeid veebis hankida, kliendiklassi , kus loetletakse kõik selle atribuudid, nagu tehingu üksikasjad, väljamakse- ja hoiuseandmed, tasumata võlg jne.

Selles õpetuses õpime,

  • Kuidas defineerida Pythoni klassid
  • Kuidas pärimine töötab
  • Pythoni konstruktorid

Kuidas defineerida Pythoni klassid

Klassi määratlemiseks peate arvestama järgmiste punktidega

1. samm) Pythonis määratakse klassid märksõnaga "Klass"

class myClass():

2. samm. Klasside sees saate määratleda selle klassi osad funktsioonid või meetodid

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Siin on määratletud meetod1, mis prindib "Guru99".
  • Teine meie määratletud meetod on meetod2, mis prindib "Tarkvara testimine" + SomeString. SomeString on helistamismeetodi pakutav muutuja

Samm 3) Kõik klassis on taandatud, nagu ka funktsioonis, tsüklis olev kood, if lause jne. Kõik, mis pole taandatud, pole klassis

MÄRKUS : "self" kasutamise kohta Pythonis

  • Eneseargument viitab objektile endale. Siit tuleneb sõna mina. Nii et selle meetodi sees viitab mina selle objekti konkreetsele eksemplarile, mida opereeritakse.
  • Self on nimi, mida Pythonid eelistavad, et näidata Pythonis esinevate meetodite esimest parameetrit. See on osa Pythoni süntaksist, et pääseda juurde objektide liikmetele

4. samm. Tehke klassi objekt

c = myClass()

5. samm . Klassis meetodi kutsumine

c.method1()c.method2(" Testing is fun")
  • Pange tähele, et kui me nimetame meetodit1 või meetodit2, ei pea me ise sisestama märksõna. Seda haldab Pythoni käitamise aeg meie jaoks automaatselt.
  • Pythoni käitusaeg annab ise väärtuse, kui kutsute näiteks eksemplari meetodi, olenemata sellest, kas sisestate selle tahtlikult või mitte
  • Sa pead lihtsalt hoolima mitte-enda argumentidest

Samm 6) Siin on täielik kood

# Näidisfail klassidega töötamiseksklass myClass ():def meetod1 (ise):print ("Guru99")def meetod2 (ise, mõniString):print ("Tarkvara testimine: + someString)def main ():# kasutada klassi meetodeidc = myClass ()c. meetod1 ()c.method2 ("Testimine on lõbus")kui __nimi __ == "__main__":peamine ()

Kuidas pärimine töötab

Pärand on funktsioon, mida kasutatakse objektorienteeritud programmeerimisel; see viitab uue klassi määratlemisele, olemasolevat klassi vähem või üldse mitte muutes. Uut klassi nimetatakse tuletatud klassiks ja sellest, mille ta pärib, nimetatakse baasiks . Python toetab pärimist; see toetab ka mitut pärimist . Klass võib pärida atribuudid ja käitumismeetodid teisest klassist, mida nimetatakse alaklassiks või pärijaklassiks.

Pythoni pärilikkuse süntaks

class DerivedClass(BaseClass):body_of_derived_class

1. samm. Käivitage järgmine kood

# Näidisfail klassidega töötamiseksklass myClass ():def meetod1 (ise):print ("Guru99")klassi lapseklass (myClass):#def meetod1 (ise):# myClass.method1 (ise);#print ("childClass Method1")def meetod2 (ise):print ("childClass meetod2")def main ():# kasutada klassi meetodeidc2 = lapseklass ()c2.metode1 ()# c2.met2 ()kui __nimi __ == "__main__":peamine ()

Pange tähele, et in childClass, meetod1 pole määratletud, kuid see on tuletatud vanemast myClass. Väljundiks on "Guru99".

2. samm. Kommenteerige rida nr 8 ja 10. Käivitage kood

Nüüd on meetod 1 määratletud childClassis ja väljund "childClass Method1" on õigesti näidatud.

Samm 3) Kommenteerimata rida nr 9. Käivitage kood

Süntaksi abil saate kutsuda vanema klassi meetodit

ParentClassName.MethodName(self)

Meie puhul helistame myClass.method1 (ise) ja Guru99 trükitakse ootuspäraselt

4. samm. Kommenteerimata rida nr 19. Käivitage kood.

Lapseklassi 2. meetodit nimetatakse ja "childClass method2" trükitakse ootuspäraselt.

Pythoni konstruktorid

Konstruktor on klassi funktsioon, mis kiirendab objekti ettemääratud väärtusteni.

See algab kahekordse alakriipsuga (_). See __init __ () meetod

Allpool toodud näites võtame konstruktori abil kasutaja nime.

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

Väljund on:

Tere tulemast Guru99, Alex

Python 2 näide

Eespool on koodid Python 3 näited. Kui soovite käivitada Python 2-s, kaaluge järgmist koodi.

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

Kokkuvõte:

"Klass" on funktsioonide ja andmete loogiline rühmitus. Klass Python pakub kõiki objektorienteeritud programmeerimise standardfunktsioone.

  • Klassi pärimise mehhanism
  • Tuletatud klass, mis alistab mis tahes selle baasklassi meetodi
  • Meetod võib kutsuda sama nimega baasklassi meetodit
  • Pythoni klassid määratletakse märksõnaga "klass" ise
  • Klasside sees saate määratleda klassi kuuluvad funktsioonid või meetodid
  • Klassis on kõik taandatud, täpselt nagu funktsioonis, tsüklis olev kood, if lause jne.
  • Pythoni enda argument viitab objektile endale. Self on nimi, mida Pythonid eelistavad, et näidata Pythonis esinevate meetodite esimest parameetrit
  • Pythoni käitusaeg annab ise väärtuse automaatselt üle, kui kutsute näiteks eksemplari meetodi, olenemata sellest, kas sisestate selle tahtlikult või mitte
  • Pythonis saab klass pärida atribuudid ja käitumismeetodid teiselt klassilt, mida nimetatakse alaklassiks või pärijaklassiks.