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

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

DelitiCvrkutatiE-naslov
Kako ravnati z izjemami v Pythonu

Pokrijte svoje baze kodiranja z izjemami Python.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Programiranje
  • Python
  • Programski jeziki
O avtorju
Jerome Davidson (24 objavljenih člankov)

Jerome je osebni pisatelj pri MakeUseOf. Zajema članke o programiranju in Linuxu. Je tudi navdušenec nad kripto kripto in vedno spremlja kripto industrijo.

Več od Jeroma Davidsona

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