Python OOP: osztály, objektum, öröklés és konstruktor példával
OOP be Python
OOP be Python egy 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 tetszőleges valós világbeli entitások lehetnek. Python lehetővé teszi a fejlesztők számára, hogy az OOPs megközelítést használó alkalmazásokat fejlesszenek, főként a kód újrafelhasználhatóságára összpontosítva. Nagyon könnyű osztályokat és objektumokat létrehozni Python.
Mi az az osztály?
Egy osztályban Python adatok és függvények logikai csoportosítása. Szabadságot ad olyan adatszerkezetek létrehozására, amelyek tetszőleges tartalmat tartalmaznak, és így könnyen hozzáférhetők.
Például bármely banki alkalmazott, aki online szeretné lekérni az ügyfél adatait, a címre megy vásárlói osztály, ahol az összes attribútuma, például a tranzakció adatai, a kifizetési és befizetési adatok, a fennálló tartozás stb. szerepelne.
Hogyan határozzuk meg Python osztályok
Az osztály meghatározásához figyelembe kell venni a következő szempontokat
Step 1) In Python, az osztályokat a "Osztály" kulcsszó
class myClass():
Step 2) Az osztályokon belül meghatározhat olyan függvényeket vagy metódusokat, amelyek ennek az osztálynak a részét képezik
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Itt definiáltuk az 1. módszert, amely kiírja a „Guru99” kifejezést.
- Egy másik, általunk definiált módszer a 2. módszer, amely kiírja a „Software Testing”+ SomeString szöveget. A SomeString a hívási metódus által biztosított változó
Step 3) Az osztályban minden behúzott, csakúgy, mint a kód a függvényben, ciklusban, if utasításban stb. Ami nincs behúzva, az nincs az osztályban
JEGYZET: Az „én” használatáról Python
- Az önérv magára a tárgyra vonatkozik. Innen ered az én szó használata. Tehát ezen a metóduson belül a self ennek az objektumnak a kezelt példányára fog hivatkozni.
- Az Self a megegyezés szerint preferált név Pythons a példánymetódusok első paraméterének jelzésére Python. Ez része a Python szintaxis az objektumok tagjainak eléréséhez
Step 4) Az osztály tárgyává tenni
c = myClass()
Step 5) Metódus meghívása egy osztályban
c.method1()
c.method2(" Testing is fun")
- Figyeljük meg, hogy amikor meghívjuk a metódus1 vagy a metódus2, nem kell megadnunk a saját kulcsszót. Ezt automatikusan kezeli számunkra a Python futási idő.
- Python A futási idő „self” értéket ad át, amikor meghív egy példánymetódust a példányon, függetlenül attól, hogy szándékosan adja meg vagy sem
- Csak a nem ön-érvekkel kell törődnie
Step 6) Itt a teljes kód
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Hogyan működik az öröklés
Az öröklődés az objektumorientált programozásban használt szolgáltatás; egy új osztály definiálására vonatkozik, egy meglévő osztályon kevesebb vagy egyáltalán nem módosítva. Az új osztály ún származtatott osztály és amelyiktől örököl, az úgynevezett bázis. Python támogatja az öröklést; az is támogatja többszörös öröklődés. Egy osztály örökölhet attribútumokat és viselkedési módszereket egy másik osztálytól, amelyet alosztálynak vagy örökös osztálynak neveznek.
Python Öröklődési szintaxis
class DerivedClass(BaseClass):
body_of_derived_class
Step 1) Futtassa a következő kódot
# Example file for working with classes
class 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 methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Figyelje meg, hogy a childClass-ban a metódus1 nincs megadva, de a szülő myClass-ból származik. A kimenet a „Guru99”.
Step 2) 8. és 10. sor megjegyzésének törlése. Futtassa a kódot
Most az 1. metódus definiálva van a childClass-ban, és a „childClass Method1” kimenet helyesen jelenik meg.
Step 3) Megjegyzés: 9. sor. Futtassa a kódot
A szintaxis segítségével meghívhatja a szülőosztály metódusát
ParentClassName.MethodName(self)
Esetünkben hívjuk, myClass.method1(self) és a Guru99 a várt módon kinyomtatott
4 lépés) Megjegyzés: 19. sor. Futtassa a kódot.
A gyermekosztály 2. metódusa meghívásra kerül, és a várt módon a „childClass method2” kinyomtatásra kerül.
Python Kivitelezők
A konstruktor egy osztályfüggvény, amely egy objektumot előre definiált értékekre példányosít.
Dupla aláhúzással (_) kezdődik. Ez __init__() metódus
Az alábbi példában a felhasználó nevét vesszük a konstruktor segítségével.
class User:
name = ""
def __init__(self, name):
self.name = name
def 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 Python 3 példa, Ha be akarsz futni Python 2 Kérjük, vegye figyelembe a következő kódot.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class 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 methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Ismerje meg a következő oktatóanyagunkat Polimorfizmus be Python
Összegzésként
Az „osztály” a funkciók és adatok logikai csoportosítása. Python osztály biztosítja az objektum-orientált programozás összes szabványos funkcióját.
- Osztály öröklődési mechanizmus
- Származtatott osztály, amely felülírja az alaposztály bármely metódust
- Egy metódus meghívhatja egy azonos nevű alaposztály metódusát
- Python Az osztályokat kulcsszó határozza meg "osztály" maga
- Az osztályokon belül definiálhat olyan függvényeket vagy metódusokat, amelyek az osztály részét képezik
- Az osztályban minden behúzott, csakúgy, mint a kód a függvényben, ciklusban, if utasításban stb.
- Az önérv benne Python magára a tárgyra vonatkozik. Az Self a megegyezés szerint preferált név Pythons a példánymetódusok első paraméterének jelzésére Python
-
Python A futási idő automatikusan átadja az „self” értéket, amikor meghív egy példánymetódusot a példányban, függetlenül attól, hogy szándékosan adja meg, vagy sem
- In Python, egy osztály örökölhet attribútumokat és viselkedési módszereket egy másik osztálytól, amelyet alosztálynak vagy örökös osztálynak neveznek.


