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.
Zakryjte své kódovací základy výjimkami Pythonu.
Číst dále
- Programování
- Programování
- Krajta
- Programovací jazyky

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