OOP-k a Pythonban
Az OOP-k a Pythonban olyan programozási megközelítés, amely az objektumok és osztályok használatára összpontosít, ugyanúgy, mint a többi általános programozási nyelv. Az objektumok bármilyen valós entitások lehetnek. A Python lehetővé teszi a fejlesztők számára, hogy alkalmazásokat fejlesszenek az OOPs megközelítés használatával, különös tekintettel a kód újrafelhasználhatóságára. Nagyon egyszerű osztályokat és objektumokat létrehozni a Pythonban.
Mi az osztály?
A Python osztálya az adatok és a függvények logikai csoportosítása. Megadja a szabadságot olyan adatstruktúrák létrehozására, amelyek tetszőleges tartalmat tartalmaznak, és így könnyen hozzáférhetők.
Például minden banki alkalmazott, aki szeretné letölteni az ügyfél adatait az online menne ügyfél osztály , ahol minden annak tulajdonságait, mint a tranzakció részleteit, a visszavonás és betéti adatait, kintlevőségek stb szerepelne ki.
Ebben az oktatóanyagban megtanuljuk,
- A Python osztályok meghatározása
- Hogyan működik az öröklés
- Python Konstruktorok
A Python osztályok meghatározása
Az osztály meghatározásához figyelembe kell venni a következő pontokat
1. lépés: A Pythonban az osztályokat az "Osztály" kulcsszó határozza meg
class myClass():
2. lépés) Az osztályok belsejében meghatározhatja az osztály részét képező függvényeket vagy módszereket
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Itt definiáltuk a1-es módszert, amely kinyomtatja a "Guru99" -t.
- Egy másik módszer, amelyet definiáltunk, a method2, amely a "Szoftvertesztelés" + SomeString parancsot nyomtatja. A SomeString a hívó módszer által szolgáltatott változó
3. lépés) Az osztályban minden be van húzva, csakúgy, mint a függvényben lévő kód, a ciklus, ha utasítás, stb. Bármi, amit nem behúznak, nem tartozik az osztályba
MEGJEGYZÉS : Az "én" használatáról a Pythonban
- Az önérv magára az objektumra vonatkozik. Ezért az én szó használata. Tehát ezen a módszeren belül az én az objektum konkrét példányára utal, amelyet működtetnek.
- A Self az a név, amelyet a Pythons előnyben részesít, hogy jelezze a példány metódusok első paraméterét a Pythonban. Az Python szintaxis része az objektumok tagjainak eléréséhez
4. lépés: Készítsen egy objektumot az osztályból
c = myClass()
5. lépés: Módszer meghívása egy osztályban
c.method1()c.method2(" Testing is fun")
- Figyelje meg, hogy amikor a metódust1 vagy a metódust2 hívjuk meg, akkor nem kell megadnunk az önkulcsot. Ezt a Python futásidő automatikusan kezeli számunkra.
- A Python futásideje átadja az „én” értéket, ha példány metódust hív meg, függetlenül attól, hogy szándékosan adja meg, vagy sem
- Csak a nem én érveivel kell törődnie
6. lépés) Itt van a teljes kód
# Példa fájl az osztályokkal való munkáhozosztály myClass ():def method1 (self):nyomtatás ("Guru99")def method2 (self, someString):nyomtatás ("Szoftvertesztelés: + someString)def main ():# gyakorolja az osztály módszereitc = myClass ()c.metode1 ()c.met2 ("A tesztelés jó móka")ha __név __ == "__fő__":fő()
Hogyan működik az öröklés
Az öröklés az objektum-orientált programozásban használt szolgáltatás; egy új osztály definiálására utal, egy meglévő osztály módosítása nélkül vagy anélkül. Az új osztályt származtatott osztálynak nevezzük, és attól, amelyet örököl, bázisként nevezzük . A Python támogatja az öröklést; több örökséget is támogat . Egy osztály örökölheti az attribútumokat és a viselkedési módszereket egy másik, alosztálynak vagy örökös osztálynak nevezett osztályból.
Python öröklődés szintaxisa
class DerivedClass(BaseClass):body_of_derived_class
1. lépés: Futtassa a következő kódot
# Példa fájl az osztályokkal való munkáhozosztály myClass ():def method1 (self):nyomtatás ("Guru99")osztály gyermekosztály (myClass):#def method1 (self):# myClass.method1 (én);#print ("childClass Method1")def2 módszer (én):nyomtatás ("childClass2 módszer")def main ():# gyakorolja az osztály módszereitc2 = gyermekosztály ()c2.1. módszer ()# c2.met2 ()ha __név __ == "__fő__":fő()
Figyelje meg, hogy az in childClass metódus 1 nincs meghatározva, de a szülő myClass-ból származik. A kimenet "Guru99".
2. lépés : A 8. és 10. sor megjegyzés nélküli futtatása. Futtassa a kódot
Most az 1. módszert definiálta a childClass, és a "childClass1. Módszer" kimenet helyesen jelenik meg.
3. lépés : A 9. sor megjegyzése. Futtassa a kódot
A szintaxis segítségével meghívhatja a szülőosztály egyik módszerét
ParentClassName.MethodName(self)
Esetünkben a myClass.method1 (self) hívást hajtjuk végre, a Guru99 pedig a várakozásoknak megfelelően kerül kinyomtatásra
4. lépés ) A 19. sor megjegyzés nélküli kommentálása. Futtassa a kódot.
A gyermekosztály 2. módszerét hívják meg, és a várakozásoknak megfelelően kinyomtatják a "childClass2.
Python Konstruktorok
A konstruktor egy olyan osztályfüggvény, amely egy objektumot előre definiált értékekre állít elő.
Kettős aláhúzással (_) kezdődik. Ez __init __ () metódus
Az alábbi példában a felhasználó nevét a konstruktor segítségével vesszük fel.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
A kimenet a következő lesz:
Üdvözöljük a Guru99-ben, Alex
Python 2 példa
A fenti kódok tartalmazzák a Python 3 példákat. Ha Python 2-ben szeretne futtatni, vegye figyelembe a következő kódot.
# 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()
Összegzés:
Az "osztály" a funkciók és adatok logikus csoportosítása. A Python osztály biztosítja az objektumorientált programozás összes szabványos tulajdonságát.
- Osztályos öröklési mechanizmus
- Származtatott osztály, amely felülírja alaposztályának bármelyik módszerét
- Egy metódus megnevezheti az azonos nevű alaposztály metódusát
- A Python osztályokat maga az "class" kulcsszó határozza meg
- Az osztályok belsejében meghatározhatja az osztály részét képező függvényeket vagy módszereket
- Az osztályban minden behúzott, csakúgy, mint a függvényben lévő kód, a ciklus, ha utasítás, stb.
- A Python-ban az én argumentum magára az objektumra vonatkozik. A Self az a név, amelyet a Pythons előnyben részesít, hogy jelezze a példány metódusok első paraméterét a Pythonban
- A Python futásideje automatikusan átadja az „én” értéket, ha példány metódust hív meg, függetlenül attól, hogy szándékosan adja meg, vagy sem
- A Pythonban egy osztály örökölheti az attribútumokat és a viselkedési módszereket egy másik, alosztálynak vagy örökös osztálynak nevezett osztályból.