Az absztrakt osztály a kapcsolódó osztályok tervrajza. Nem példányosítható, de csak öröklés útján érhető el. Egy absztrakt osztályt öröklő alosztály szükséges elvont módszereinek megvalósításához. Ellenkező esetben a fordító hibát jelez.
Az absztrakt módszerek megvalósítás nélküli módszerek. Egy absztrakt osztálynak lehetnek absztrakt módszerei vagy konkrét (normál) módszerei.
A Python nem támogatja közvetlenül az elvont módszereket, de elérheti őket a ABC (absztrakt alaposztály) modul.
Az abc modul használata Pythonban
Ahhoz, hogy egy absztrakt osztályt definiálhasson a Pythonban, meg kell tennie import az abc modul.
Lásd az alábbi példát:
abc import ABC -ből
osztály AbstractClassName (ABC):
passz
Figyelje meg a kulcsszót passz. Ez a kulcsszó üres kódok helyettesítésére szolgál. Ha elhagyja, összeállítási hiba lép fel.
Összefüggő: Julia ajánlatot tesz Python trónjára?
Osztálydefiníciók, metódusdefiníciók, ciklusok és ha az utasítások kód implementációt várnak el. Tehát ezek kihagyása összeállítási hibát okoz. Ennek elkerülése érdekében használja
passz hogy helyettesítse az üres kódot.Absztrakt módszer definiálásához a Pythonban használja a @absztrakt módszer dekorátor:
abc import ABC -ből, absztrakt módszer
osztály AbstractClassName (ABC):
@absztrakt módszer
def abstractMethod (self):
passz
Ezen a ponton jó lenne megemlíteni, hogy - ellentétben a Java -val - a Python absztrakt módszerei megvalósíthatók. Ez a megvalósítás a felülírási módszerrel érhető el a szuper() módszer.
import abc
osztály AbstractClass (ABC):
def __init __ (saját, érték):
self.value = érték
szuper () .__ init __ ()
@abc.abstractmethod
def some_action (self):
print ("Ez a szülői megvalósítás.")
osztály MySubclass (AbstractClassExample):
def some_action (self):
szuper (). some_action ()
print ("Ez az alosztály megvalósítása. ")
x = MySubclass ()
x.some_action ()
Érdekes megjegyezni, hogy egy konstruktort definiálhat egy absztrakt osztályban.
A 9. sorban ezt megfigyelheti @abc.abstractmethod használták absztrakt módszer dekorátor. Ez az előző űrlapon kívül más módszer is erre. Vegye figyelembe azt is, hogy az 1. sor rövidebb (import abc), mint a korábban használt 1. sor importálása.
Minden választás kérdése. Bár sokan a második módszert rövidebbnek találják.
Kivételkezelés Pythonban
Vegye figyelembe, hogy a fenti kódpéldában nincs mód hibák rögzítésére. A hibák gyakrabban fordulnak elő, és ha megbízható módon lehet hozzájutni hozzájuk, ez megváltoztathatja a játékot.
Ezeket az eseményeket, amelyek megzavarják a normál programfolyamatot, "kivételeknek" nevezik, és ezek kezelését "kivételkezelésnek". A Python olvasási listájában a kivételkezelés következik.
Fedje le kódolási alapjait Python kivételekkel.
Olvassa tovább
- Programozás
- Programozás
- Piton
- Programozási nyelvek

Jerome a MakeUseOf munkatársa. A programozásról és a Linuxról szóló cikkekkel foglalkozik. Ő is kriptorajongó, és mindig figyelemmel kíséri a kriptoipart.
Iratkozzon fel hírlevelünkre
Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!
Feliratkozáshoz kattintson ide