Abstrakti klasė yra susijusių klasių planas. Jis negali būti momentinis, bet prieinamas tik paveldint. Norint įgyvendinti abstrakčius metodus, reikalingas poklasis, paveldintis abstrakčią klasę. Priešingu atveju kompiliatorius pažymės klaidą.

Abstraktūs metodai yra metodai be įgyvendinimo. Abstrakčioje klasėje gali būti abstrakčių metodų arba konkrečių (normalių) metodų.

„Python“ tiesiogiai nepalaiko abstrakčių metodų, tačiau juos galite pasiekti naudodami abc (abstrakti bazinė klasė) modulis.

Abc modulio naudojimas „Python“

Norėdami apibrėžti abstrakčią klasę „Python“, turite importas abc modulis.

Žr. Pavyzdį žemiau:

iš abc importo ABC
klasės AbstractClassName (ABC):
praeiti

Atkreipkite dėmesį į raktinį žodį praeiti. Šis raktinis žodis naudojamas tuščiam kodui įvesti. Jei jį paliksite, atsiras kompiliavimo klaida.

Susijęs: Ar Julija pateiks pasiūlymą dėl Python sosto?

Klasių apibrėžimai, metodų apibrėžimai, kilpos ir jei teiginiai tikisi kodo diegimo. Taigi, juos paliekant, sudaroma kompiliavimo klaida. Norėdami to išvengti, naudokite praeiti pakeisti tuščią kodą.

instagram viewer

Norėdami apibrėžti abstraktų metodą „Python“, naudokite @abstraktus metodas dekoratorius:

iš abc importo ABC, abstraktus metodas
klasės AbstractClassName (ABC):
@abstraktus metodas
def abstractMetodas (savarankiškai):
praeiti

Šiuo metu būtų gerai paminėti, kad, skirtingai nei „Java“, abstraktūs „Python“ metodai gali būti įgyvendinti. Šį įgyvendinimą galima pasiekti naudojant nepagrįstą metodą naudojant super () metodas.

importuoti abc
AbstractClass (ABC) klasė:
def __init __ (aš, vertė):
self.value = vertė
super () .__ init __ ()
@abc.abstractmethod
def some_action (save):
print („Tai yra pirminis diegimas“.)
„MySubclass“ klasė (AbstractClassExample):
def some_action (save):
super (). some_action ()
print ("Tai yra poklasio įgyvendinimas. ")
x = „MySubclass“ ()
x.some_action ()

Įdomu pastebėti, kad konstruktorių galite apibrėžti abstrakčioje klasėje.

9 eilutėje galite tai pastebėti @abc.abstractmethod buvo naudojamas kaip abstraktus dekoratoriaus metodas. Tai dar vienas būdas tai padaryti, išskyrus ankstesnę formą. Taip pat atkreipkite dėmesį, kad 1 eilutė yra trumpesnė (importuoti abc) nei ankstesnis 1 eilutės importas, kurį naudojote.

Viskas yra pasirinkimo reikalas. Tačiau daugeliui antrasis metodas gali būti trumpesnis.

Išimčių tvarkymas „Python“

Atkreipkite dėmesį, kad aukščiau pateiktame kodo pavyzdyje negalima užfiksuoti klaidų. Klaidų pasitaiko dažniau nei dažnai, o patikimas būdas jas gauti gali pakeisti žaidimą.

Šie įvykiai, sutrikdantys įprastą programos eigą, vadinami „išimtimis“, o jų valdymas - „išimčių tvarkymu“. Kitas jūsų „Python“ skaitymo sąraše turėtų būti išimčių tvarkymas.

Dalintis„Tweet“Paštu
Kaip tvarkyti išimtis „Python“

Uždenkite savo kodavimo pagrindus „Python“ išimtimis.

Skaityti toliau

Susijusios temos
  • Programavimas
  • Programavimas
  • Python
  • Programavimo kalbos
Apie autorių
Jerome'as Davidsonas (Paskelbti 24 straipsniai)

Džeromas yra „MakeUseOf“ personalo rašytojas. Jis apima straipsnius apie programavimą ir „Linux“. Jis taip pat yra kriptovaliutų entuziastas ir visada stebi kriptografijos pramonę.

Daugiau iš Jerome Davidson

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia