Abstraktní třída je plán pro související třídy. Nelze vytvořit instanci, ale lze k ní přistupovat pouze prostřednictvím dědičnosti. K implementaci jejích abstraktních metod je nutná podtřída, která dědí abstraktní třídu. V opačném případě kompilátor označí chybu.

Abstraktní metody jsou metody bez implementace. Abstraktní třída může mít abstraktní metody nebo konkrétní (normální) metody.

Python přímo nepodporuje abstraktní metody, ale můžete k nim přistupovat prostřednictvím abc (abstraktní základní třída) modul.

Použití modulu abc v Pythonu

Chcete -li v Pythonu definovat abstraktní třídu, musíte import modul abc.

Viz příklad níže:

z abc import ABC
třída AbstractClassName (ABC):
složit

Všimněte si klíčového slova složit. Toto klíčové slovo slouží k označení prázdného kódu. Vynechání způsobí chybu kompilace.

Příbuzný: Bude Julia podávat nabídky na Pythonův trůn?

Definice tříd, definice metod, smyčky a -li prohlášení očekávají implementace kódu. Vynechání je tedy chyba kompilace. Abyste tomu zabránili, použijte složit nahradit prázdný kód.

Chcete -li v Pythonu definovat abstraktní metodu, použijte @abstractmethod malíř:

z abc import ABC, abstractmethod
třída AbstractClassName (ABC):
@abstractmethod
def abstractMethod (self):
složit

Na tomto místě by bylo dobré zmínit, že - na rozdíl od Javy - abstraktní metody v Pythonu mohou mít implementaci.. K této implementaci lze přistupovat v přepisovací metodě pomocí super () metoda.

import abc
třída AbstractClass (ABC):
def __init __ (vlastní, hodnota):
self.value = hodnota
super () .__ init __ ()
@abc.abstractmethod
def some_action (self):
print („Toto je nadřazená implementace.“)
třída MySubclass (AbstractClassExample):
def some_action (self):
super (). some_action ()
print („Toto je implementace podtřídy. ")
x = Moje podtřída ()
x.some_action ()

Je zajímavé poznamenat, že v abstraktní třídě můžete definovat konstruktor.

Na řádku 9 to můžete pozorovat @abc.abstractmethod byl použit jako dekorátor abstraktní metody. Toto je další způsob, jak to udělat, než předchozí forma. Všimněte si také, že řádek 1 je kratší (import abc) než dřívější import řádku 1, který jste použili.

Všechno je otázkou volby. Ačkoli mnozí mohou považovat druhou metodu za kratší.

Zpracování výjimek v Pythonu

Všimněte si, že neexistuje žádný způsob, jak zachytit chyby v příkladu kódu uvedeném výše. Chyby se vyskytují častěji než dříve a jejich spolehlivý způsob, jak je získat, může změnit hru.

Tyto události, které narušují běžný tok programu, se nazývají „výjimky“ a jejich správa se nazývá „zpracování výjimek“. Další ve vašem seznamu čtení Pythonu by mělo být zpracování výjimek.

PodíltweetE-mailem
Jak zacházet s výjimkami v Pythonu

Zakryjte své kódovací základy výjimkami Pythonu.

Číst dále

Související témata
  • Programování
  • Programování
  • Krajta
  • Programovací jazyky
O autorovi
Jerome Davidson (24 článků zveřejněno)

Jerome je spisovatelem štábu v MakeUseOf. Zabývá se články o programování a Linuxu. Je také nadšencem kryptoměn a vždy má přehled o krypto průmyslu.

Více od Jerome Davidsona

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru