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.