Abstraktni razred je načrt za sorodne razrede. Ni ga mogoče ustvariti, vendar je do njega mogoče dostopati le z dedovanjem. Podrazred, ki podeduje abstraktni razred, je potreben za izvajanje njegovih abstraktnih metod. V nasprotnem primeru bo prevajalnik označil napako.
Abstraktne metode so metode brez izvajanja. Abstraktni razred ima lahko abstraktne metode ali konkretne (normalne) metode.
Python ne podpira neposredno abstraktnih metod, do njih pa lahko dostopate prek abc (abstraktni osnovni razred) modul.
Uporaba modula abc v Pythonu
Če želite definirati abstraktni razred v Pythonu, morate uvoz modul abc.
Oglejte si spodnji primer:
iz ABC uvoza ABC
razred AbstractClassName (ABC):
prehod
Upoštevajte ključno besedo prehod. Ta ključna beseda se uporablja za oznako prazne kode. Če izpustite, bo prišlo do napake pri sestavljanju.
Povezano: Bo Julia ponudila Pythonov prestol?
Definicije razredov, definicije metod, zanke in če stavki pričakujejo implementacijo kode. Torej, če jih izpustite, pride do napake pri sestavljanju. Da bi se temu izognili, uporabite
prehod zamenjati prazno kodo.Za določitev abstraktne metode v Pythonu uporabite datoteko @abstraktna metoda okrasitelj:
iz abc uvoza ABC, abstraktnametoda
razred AbstractClassName (ABC):
@abstraktna metoda
def abstractMethod (self):
prehod
Na tem mestu bi bilo dobro omeniti, da imajo - za razliko od Jave - abstraktne metode v Pythonu lahko izvedbo. Do te izvedbe lahko dostopate v metodi preglasitve z uporabo super () metoda.
uvoz abc
razred AbstractClass (ABC):
def __init __ (sam, vrednost):
self.value = vrednost
super () .__ init __ ()
@abc.abstractmethod
def some_action (self):
print ("To je nadrejena izvedba.")
razred MySubclass (AbstractClassExample):
def some_action (self):
super (). some_action ()
print ("To je izvedba podrazreda. ")
x = MySubclass ()
x.some_action ()
Zanimivo je omeniti, da lahko konstruktor definirate v abstraktnem razredu.
Na vrstici 9 lahko to opazite @abc.abstractmethod je bil uporabljen kot dekorater abstraktnih metod. To je drug način, kot prejšnja oblika. Upoštevajte tudi, da je vrstica 1 krajša (uvoz abc) kot prejšnji uvoz prve vrstice, ki ste ga uporabili.
Vse je stvar izbire. Čeprav se mnogim zdi druga metoda krajša.
Ravnanje z izjemami v Pythonu
Upoštevajte, da v zgornjem primeru kode ni mogoče zajeti napak. Napake se pogosteje pojavljajo in zanesljiv način, kako jih pridobiti, lahko spremeni igro.
Ti dogodki, ki motijo običajen tok programa, se imenujejo "izjeme", njihovo upravljanje pa "ravnanje z izjemami". Naslednji na vašem bralnem seznamu Python mora biti obravnava izjem.
Pokrijte svoje baze kodiranja z izjemami Python.
Preberite Naprej
- Programiranje
- Programiranje
- Python
- Programski jeziki

Jerome je osebni pisatelj pri MakeUseOf. Zajema članke o programiranju in Linuxu. Je tudi navdušenec nad kripto kripto in vedno spremlja kripto industrijo.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite