Piton

Python öröklés

Python öröklés

A Python egy objektum-orientált programozási nyelv. Objektum-orientált programozási nyelven létrehozzuk az osztályokat és végrehajtjuk a tervezett funkcionalitást. Az öröklés az objektum-orientált programozási nyelvek alapvető jellemzője. Az öröklődés meghatározható az egyik osztály azon képessége, hogy örökli egy másik osztály összes funkcióját és tulajdonságát. Az öröklés lényegében lehetővé teszi egy meglévő osztály tulajdonságainak kiterjesztését. Az öröklődés a két fő fogalommal van kihasználva:

  1. Szülő osztály vagy alaposztály
  2. Gyermekosztály vagy származtatott osztály

A szülő osztály az az osztály, amely lehetővé teszi más osztályok öröklődését. Alaposztálynak is hívják. A gyermek osztály vagy a származtatott osztály az az osztály, amely örökli egy másik osztály összes tulajdonságát és funkcióját. Az öröklődés számos előnnyel jár, azaz.e., ez a valós világ öröklési jelenségének ábrázolása. Ösztönzi a kód újrafelhasználhatóságát. Ha egy funkció definiálva van az egyik osztályban, akkor a másik osztály örökölheti ezt az osztályt, és felhasználhatja az összes létező függvényt. Nem szükséges ugyanazt a kódot újra és újra írni hasonló feladatok elvégzéséhez. Az öröklést több szinten alkalmazzák. Például, ha a B osztály örökölt A-ból, és a C osztály B-ből öröklődik, akkor a C osztály rendelkezik a B osztály összes tulajdonságával, valamint az A. Az öröklés szintaxisa a következő:

Class ParentClass:
A szülő osztály megvalósításának részletei
osztály ChildClass:
A gyermekosztály megvalósításának részletei

Bár a gyermekosztály hozzáfér a szülői osztály összes funkciójához és funkciójához, hozzáadhatja új funkcióit és funkcióit is.

Ez a cikk a Python-öröklés összes aspektusát ismerteti és lefedi.

Öröklés megvalósítása Pythonban

Az öröklődés számos helyzetben alkalmazható. Tegyük fel, hogy egy szoftverrendszert épít egy egyetem számára. Több érdekelt félből állhat, mint diákok, tanárok, alkalmazottak stb. Tehát minden embernek van neve, kora, e-mail címe és egyéb közös tulajdonságai. Nem szükséges minden osztályban az összes tulajdonságot külön deklarálni. Készíthetünk személyosztályt, és az összes érintett osztály örökölheti az összes közös tulajdonságot és funkciót a személyosztálytól. Ebben az esetben nincs szükség az egyes osztályok közös tulajdonságainak újra és újra megírására. Hasonlóképpen figyelembe vehetünk egy állatosztályt is. Több száz állatfaj létezik ezen a világon. Minden állat eszik, alszik, és van néhány fajuk is. Ez a koncepció az öröklés segítségével is megvalósítható.

Tekintsük az állatot szuper osztálynak és valósítsuk meg az örökséget. Az alábbi példában létrehoztunk egy állatosztályt. Az állatosztály a szülőosztály. Sőt, létrehoztuk a Kutya és Macska osztályokat, amelyek öröklik az állatosztály tulajdonságait és funkcióit. A pass kulcsszót a gyermek osztályban használják, amikor nincs szükségünk kiterjesztett funkciók megvalósítására a gyermek osztályban.

# szülő osztály létrehozása
osztályú állat:
#inicialization függvény
#initilization az állat neve és fajtípusa
def __init __ (saját, név, fajta_típus):
maga.név = név
maga.specie_type = faj_típus
#a funkció az állat nevének kinyomtatására
def nyomtatási név (self):
nyomtatás ("Az állat neve:", önálló.név)
#a funkció az állatfaj típusának kinyomtatására
def printspecie (self):
print ("A fajta típusa:", önálló.specie_type)
# a kutyaosztály létrehozása állatosztály gyermekosztályaként
osztályú kutya (állat):
# nincs bővítés vagy módosítás
passz
A # most kutyaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a kutya osztály objektum létrehozása
dogObj = Kutya ("Kutya", "húsevő")
dogObj.nyomtatott név()
dogObj.printspecie ()
# a macskaosztály létrehozása állatosztály gyermekosztályaként
osztályú macska (állat):
#a macskaosztály iniciálási funkciója
def __init __ (én):
# # hívása és használata az állatosztály iniciálási funkciójával
Állat.__init __ (saját, "macska", "húsevő emlős")
A #macskaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a macska osztály objektum létrehozása
catObj = Macska ()
catObj.nyomtatott név()
catObj.printspecie ()

Kimenet

A "Állat.__init __ (én, „macska”, „húsevő emlős”) ” A hívás az Animal osztály inicializáló függvénye.

A super () függvény

A Python beépített super () függvényt biztosít a szülőosztály összes tulajdonságának és funkciójának örökléséhez. Amikor a super () függvényt használjuk, akkor nem kell megemlíteni a szülőosztály nevét, ahogyan ezt tettük "Állat.__init __ (én, „macska”, „húsevő emlős”) ” de a super () függvény automatikusan a szülő osztályra mutat. Használjuk a szuper funkciót.

# szülő osztály létrehozása
osztályú állat:
#inicialization függvény
#initilization az állat neve és fajtípusa
def __init __ (saját, név, fajta_típus):
maga.név = név
maga.specie_type = faj_típus
#a funkció az állat nevének kinyomtatására
def nyomtatási név (self):
nyomtatás ("Az állat neve:", önálló.név)
#a funkció az állatfaj típusának kinyomtatására
def printspecie (self):
print ("A fajta típusa:", önálló.specie_type)
# a kutyaosztály létrehozása állatosztály gyermekosztályaként
osztályú kutya (állat):
# super () függvény használata
def __init __ (saját, név, fajta_típus):
szuper().__init __ (név, fajta_típus)
A # most kutyaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a kutya osztály objektum létrehozása
dogObj = Kutya ("Kutya", "húsevő")
dogObj.nyomtatott név()
dogObj.printspecie ()
# a macskaosztály létrehozása állatosztály gyermekosztályaként
osztály Macska (állat):
#a macskaosztály iniciálási funkciója
# super () függvény használata
def __init __ (saját, név, fajta_típus):
szuper().__init __ (név, fajta_típus)
A #macskaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a macska osztály objektum létrehozása
catObj = Macska ("macska", "húsevő emlős")
catObj.nyomtatott név()
catObj.printspecie ()

Kimenet

Most adjunk hozzá még néhány funkciót a gyermekosztályokban. Minden osztály örökli a közös tulajdonságokat és funkciókat a szülő osztálytól, de a gyermek osztálynak lehet egy extra osztálya, amelyet erre a bizonyos osztályra szánnak. Most hozzunk létre néhány extra tulajdonságot és funkciót a kutya és a macska osztályban.

# szülő osztály létrehozása
osztályú állat:
#inicialization függvény
#initilization az állat neve és fajtípusa
def __init __ (saját, név, fajta_típus):
maga.név = név
maga.specie_type = faj_típus
#a funkció az állat nevének kinyomtatására
def nyomtatási név (self):
nyomtatás ("Az állat neve:", önálló.név)
#a funkció az állatfaj típusának kinyomtatására
def printspecie (self):
print ("A fajta típusa:", önálló.specie_type)
# a kutyaosztály létrehozása állatosztály gyermekosztályaként
osztályú kutya (állat):
# super () függvény használata
A #pet név újonnan hozzáadott funkció
def __init __ (saját, név, fajta_típus, kisállat_neve):
szuper().__init __ (név, fajta_típus)
maga.pet_name = pet_name
# új funkció létrehozása
def printpetname (saját):
nyomtatás ("A kisállat neve:", önálló.kisállat név)
A # most kutyaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a kutya osztály objektum létrehozása
dogObj = Kutya ("Kutya", "húsevő", "Max")
dogObj.nyomtatott név()
dogObj.printspecie ()
dogObj.printpetname ()
# a macskaosztály létrehozása állatosztály gyermekosztályaként
osztályú macska (állat):
#a macskaosztály iniciálási funkciója
# super () függvény használata
# élelmiszer és kisállat_név tulajdonságok hozzáadása
def __init __ (saját, név, fajta_típus, étel, háziállat_neve):
szuper().__init __ (név, fajta_típus)
maga.étel = étel
maga.pet_name = pet_name
# új funkció az élelmiszer-információk eléréséhez
def printfood (self):
nyomtatás ("A macska szereti:", önmaga.étel)
# új funkció a kisállat nevéhez
def printpetname (saját):
nyomtatás ("A háziállat neve:", önmaga.kisállat név)
A #macskaosztály hozzáférhet az állatosztály összes funkciójához és tulajdonságához
# a macska osztály objektum létrehozása
catObj = Macska ("macska", "húsevő emlős", "keksz", "százszorszép")
catObj.nyomtatott név()
catObj.printspecie ()

Kimenet

A funkciók felülírva

Az elsődleges funkció az öröklés fontos fogalma. A függvényt felülbírált függvénynek nevezzük, ha a függvény neve azonos a szülő és a gyermek osztályokban, de a funkció megvalósítása vagy funkcionalitása osztályonként eltérő. Nézzük meg az Állatok osztály felülbírált funkciójának példáját. Az alábbi példában étkezési funkcióval rendelkezünk az állatosztályokban és annak gyermekosztályaiban (Kutya és Macska) is. A függvény neve azonos az osztályokban, de a megvalósítás más.

# szülő osztály létrehozása
osztályú állat:
def enni (én):
nyomtatás ("Minden állat ételt eszik")
# objektum létrehozása
animalObj = Állat ()
#hívás funkció
animalObj.eszik()
# teremtő kutya osztály
osztályú kutya (állat):
def enni (én):
nyomtatás ("A kutya húst eszik")
# objektum létrehozása
dogObj = Kutya ()
#hívás funkció
dogObj.eszik()
osztály Macska (állat):
def enni (én):
nyomtatás ("A macska kekszet és különleges ételeket eszik")
# objektum létrehozása
catObj = Macska ()
#hívás funkció
catObj.eszik()

Kimenet

Következtetés

Az öröklés az objektum-orientált programozási nyelvek egyik alapfogalma. Az öröklés használatával létrehozzuk azokat a gyermekosztályokat, amelyek öröklik a szülőosztály összes funkcióját és tulajdonságát. Az öröklés elősegíti a kód újrafelhasználhatóságát. Ez a cikk példákkal magyarázza a Python öröklődését.

Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...
A WinMouse segítségével testre szabhatja és javíthatja az egérmutató mozgását a Windows PC-n
Ha szeretné javítani az egérmutató alapértelmezett funkcióit, használjon ingyenes programokat WinMouse. További funkciókat kínál, amelyek segítenek ab...
Az egér bal oldali gombja nem működik a Windows 10 rendszeren
Ha dedikált egeret használ laptopjával vagy asztali számítógépével, de a az egér bal gombja nem működik a Windows 10/8/7 rendszeren valamilyen oknál f...