Python OOP-k: Osztály, objektum, öröklődés és konstruktor példával

Tartalomjegyzék:

Anonim

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.