Abstrakta klase ir saistīto klašu plāns. To nevar uzreiz parādīt, bet tam var piekļūt tikai mantojuma ceļā. Apakšklase, kas pārmanto abstraktu klasi, ir nepieciešama, lai īstenotu tās abstraktās metodes. Pretējā gadījumā kompilators atzīmēs kļūdu.

Abstraktās metodes ir metodes bez ieviešanas. Abstraktai klasei var būt abstraktas metodes vai konkrētas (normālas) metodes.

Python tieši neatbalsta abstraktās metodes, taču tām varat piekļūt, izmantojot abc (abstraktā bāzes klase) modulis.

Abc moduļa izmantošana programmā Python

Lai Python definētu abstraktu klasi, jums tas jādara importēt abc modulis.

Skatiet piemēru zemāk:

no abc importa ABC
klases AbstractClassName (ABC):
iziet

Ievērojiet atslēgvārdu iziet. Šo atslēgvārdu izmanto, lai norādītu tukšu kodu. Ja to atstāsit, radīsies apkopošanas kļūda.

Saistīts: Vai Džūlija piedāvās cenu par Pitona troni?

Klases definīcijas, metožu definīcijas, cilpas un ja paziņojumi paredz koda ieviešanu. Tātad, atstājot tos ārā, rodas apkopošanas kļūda. Lai no tā izvairītos, izmantojiet iziet aizstāt tukšo kodu.

instagram viewer

Lai Python definētu abstraktu metodi, izmantojiet @abstrakta metode dekorētājs:

no abc importa ABC, abstrakta metode
klases AbstractClassName (ABC):
@abstrakta metode
def abstractMethod (self):
iziet

Šajā brīdī būtu labi pieminēt, ka atšķirībā no Java Python abstraktajām metodēm var būt ieviešana. Šai ieviešanai var piekļūt, izmantojot primāro metodi, izmantojot super () metode.

importēt abc
AbstractClass (ABC) klase:
def __init __ (sevi, vērtību):
self.value = vērtība
super () .__ init __ ()
@abc.abstractmethod
def some_action (self):
drukāt ("Šī ir vecāku ieviešana.")
klase MySubclass (AbstractClassExample):
def some_action (self):
super (). some_action ()
print ("Šī ir apakšklases ieviešana. ")
x = MySubclass ()
x.some_action ()

Interesanti atzīmēt, ka konstruktoru var definēt abstraktā klasē.

9. rindā to var novērot @abc.abstractmethod ir izmantota kā abstraktā dekoratoru metode. Tas ir vēl viens veids, kā to izdarīt, izņemot iepriekšējo veidlapu. Ņemiet vērā arī to, ka 1. rinda ir īsāka (importēt abc) nekā iepriekšējais 1. rindas imports, ko izmantojāt.

Tas viss ir izvēles jautājums. Tomēr daudziem otrā metode var šķist īsāka.

Izņēmumu apstrāde Python

Ievērojiet, ka iepriekš norādītajā koda piemērā nav iespējams fiksēt kļūdas. Kļūdas rodas biežāk nekā nē, un uzticams veids, kā tās iegūt, var mainīt spēli.

Šos notikumus, kas traucē normālu programmu plūsmu, sauc par "izņēmumiem", un to pārvaldību sauc par "izņēmumu apstrādi". Tālāk jūsu Python lasīšanas sarakstā vajadzētu būt izņēmumu apstrādei.

KopīgotČivinātE -pasts
Kā rīkoties ar izņēmumiem Python

Pārklājiet savas kodēšanas bāzes ar Python izņēmumiem.

Lasīt Tālāk

Saistītās tēmas
  • Programmēšana
  • Programmēšana
  • Python
  • Programmēšanas valodas
Par autoru
Džeroms Deividsons (Publicēti 24 raksti)

Džeroms ir MakeUseOf personāla rakstnieks. Viņš aptver rakstus par programmēšanu un Linux. Viņš ir arī kriptogrāfijas entuziasts un vienmēr seko līdzi kriptogrāfijas nozarei.

Vairāk no Džeroma Deividsona

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu