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.
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.
Pārklājiet savas kodēšanas bāzes ar Python izņēmumiem.
Lasīt Tālāk
- Programmēšana
- Programmēšana
- Python
- Programmēšanas valodas
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.
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