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

instagram viewer
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.

RészvényCsipogEmail
Hogyan kezeljük a kivételeket a Pythonban

Fedje le kódolási alapjait Python kivételekkel.

Olvassa tovább

Kapcsolódó témák
  • Programozás
  • Programozás
  • Piton
  • Programozási nyelvek
A szerzőről
Jerome Davidson (24 cikk megjelent)

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.

További Jerome Davidson

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