Abstraktná trieda je návrhom príbuzných tried. Nemôže byť vytvorená inštancia, ale je k nej prístup iba prostredníctvom dedičnosti. Na implementáciu svojich abstraktných metód je potrebná podtrieda, ktorá dedí abstraktnú triedu. V opačnom prípade kompilátor označí chybu.

Abstraktné metódy sú metódy bez implementácie. Abstraktná trieda môže mať abstraktné metódy alebo konkrétne (normálne) metódy.

Python priamo nepodporuje abstraktné metódy, ale môžete k nim získať prístup pomocou súboru abc (abstraktná základná trieda) modul.

Použitie modulu abc v Pythone

Na definovanie abstraktnej triedy v Pythone musíte import modul abc.

Pozrite sa na príklad nižšie:

z abc import ABC
trieda AbstractClassName (ABC):
prejsť

Všimnite si kľúčové slovo prejsť. Toto kľúčové slovo slúži na zastupovanie prázdneho kódu. Ak ho vynecháte, vyskytne sa chyba pri kompilácii.

Súvisiace: Bude Julia predkladať ponuky na Pythonov trón?

Definície tried, definície metód, slučky a keby príkazy očakávajú implementáciu kódu. Ak ich vynecháte, vyskytne sa chyba pri kompilácii. Aby ste tomu zabránili, použite

instagram viewer
prejsť nahradiť prázdny kód.

Na definovanie abstraktnej metódy v Pythone použite @abstraktna metoda maliar:

z abc import ABC, abstraktná metóda
trieda AbstractClassName (ABC):
@abstraktna metoda
def abstractMethod (self):
prejsť

Na tomto mieste by bolo dobré spomenúť, že - na rozdiel od Javy - abstraktné metódy v Pythone môžu mať implementáciu. K tejto implementácii je možné pristupovať v prevažujúcej metóde pomocou Super() metóda.

importovať abc
trieda AbstractClass (ABC):
def __init __ (vlastné, hodnota):
self.value = hodnota
super () .__ init __ ()
@abc.abstraktna metoda
def some_action (self):
print („Toto je nadradená implementácia.“)
trieda MySubclass (AbstractClassExample):
def some_action (self):
super (). some_action ()
print („Toto je implementácia podtriedy. ")
x = Moja podtrieda ()
x.some_action ()

Je zaujímavé poznamenať, že v abstraktnej triede môžete definovať konštruktor.

Na riadku 9 to môžete pozorovať @abc.abstraktna metoda sa používa ako dekorátor abstraktných metód. Toto je ďalší spôsob, ako to urobiť, než v predchádzajúcej forme. Všimnite si tiež, že riadok 1 je kratší (importovať abc) ako predchádzajúci import z riadku 1, ktorý ste použili.

Všetko je vecou voľby. Mnohým sa však môže zdať druhá metóda kratšia.

Spracovanie výnimiek v Pythone

Všimnite si, že vo vyššie uvedenom príklade kódu nie je možné zachytiť chyby. Chyby sa vyskytujú častejšie a ich spoľahlivý spôsob, ako ich získať, môže zmeniť hru.

Tieto udalosti, ktoré narúšajú bežný priebeh programu, sa nazývajú „výnimky“ a ich správa sa nazýva „spracovanie výnimiek“. Ďalej vo vašom zozname čítania v Pythone by malo byť spracovanie výnimiek.

zdieľamTweetE -mail
Ako zaobchádzať s výnimkami v Pythone

Pokryte svoje kódovacie základne výnimkami z Pythonu.

Čítajte ďalej

Súvisiace témy
  • Programovanie
  • Programovanie
  • Python
  • Programovacie jazyky
O autorovi
Jerome Davidson (24 publikovaných článkov)

Jerome je spisovateľ štábu v MakeUseOf. Venuje sa článkom o programovaní a Linuxe. Je tiež nadšencom kryptomien a vždy má prehľad o kryptospracujúcom priemysle.

Viac od Jerome Davidsona

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber