Abstrakti luokka on suunnitelma aiheeseen liittyville luokille. Sitä ei voida välittää, mutta siihen pääsee vain perintönä. Abstraktin luokan perivän alaluokan vaaditaan toteuttamaan sen abstraktit menetelmät. Muussa tapauksessa kääntäjä ilmoittaa virheestä.
Abstraktit menetelmät ovat menetelmiä ilman toteutusta. Abstraktilla luokalla voi olla abstrakteja menetelmiä tai konkreettisia (normaaleja) menetelmiä.
Python ei tue suoraan abstrakteja menetelmiä, mutta voit käyttää niitä abc (abstrakti perusluokka) -moduuli.
Abc -moduulin käyttäminen Pythonissa
Jotta voit määrittää abstraktin luokan Pythonissa, sinun on tuonti abc -moduuli.
Katso alla oleva esimerkki:
abc tuonti ABC: stä
luokka AbstractClassName (ABC):
kulkea
Huomaa avainsana kulkea. Tällä avainsanalla käytetään tyhjää koodia. Sen jättäminen pois antaa kokoamisvirheen.
Aiheeseen liittyviä: Tekeekö Julia tarjouksen Pythonin valtaistuimelle?
Luokan määritelmät, menetelmien määritelmät, silmukat ja jos lausunnot odottavat koodin toteutuksia. Joten niiden jättäminen pois antaa kokoamisvirheen. Tämän välttämiseksi käytä
kulkea tyhjän koodin tilalle.Määritä abstrakti menetelmä Pythonissa käyttämällä @abstractmethod sisustusarkkitehti:
abc tuonti ABC, abstrakti menetelmä
luokka AbstractClassName (ABC):
@abstractmethod
def abstractMethod (itse):
kulkea
Tässä vaiheessa olisi hyvä mainita, että - toisin kuin Java - Pythonin abstrakteilla menetelmillä voi olla toteutus. Tämä toteutus voidaan käyttää ohitusmenetelmällä käyttämällä super () menetelmä.
tuonti abc
luokka AbstractClass (ABC):
def __init __ (itse, arvo):
self.value = arvo
super () .__ init __ ()
@abc.abstractmethod
def some_action (itse):
print ("Tämä on vanhempi toteutus.")
luokka MySubclass (AbstractClassExample):
def some_action (itse):
super (). some_action ()
print ("Tämä on alaluokan toteutus. ")
x = MySubclass ()
x.some_action ()
On mielenkiintoista huomata, että voit määritellä konstruktorin abstraktissa luokassa.
Rivillä 9 voit havaita sen @abc.abstractmethod on käytetty abstraktina koristeena. Tämä on toinen tapa tehdä se muu kuin edellinen muoto. Huomaa myös, että rivi 1 on lyhyempi (tuonti abc) kuin käyttämäsi rivin 1 tuonti.
Kaikki on valinnan asia. Monet voivat kuitenkin löytää toisen menetelmän lyhyemmäksi.
Poikkeusten käsittely Pythonissa
Huomaa, että virheitä ei voi kaapata yllä annetussa koodiesimerkissä. Virheitä esiintyy useammin kuin ei, ja luotettava tapa saada ne voi olla pelinvaihtaja.
Näitä tapahtumia, jotka häiritsevät normaalia ohjelmavirtaa, kutsutaan "poikkeuksiksi", ja niiden hallintaa kutsutaan "poikkeusten käsittelyksi". Seuraavaksi Python -lukulistallasi pitäisi olla poikkeusten käsittely.
Peitä koodauspohjasi Python -poikkeuksilla.
Lue seuraava
- Ohjelmointi
- Ohjelmointi
- Python
- Ohjelmointikielet
Jerome on MakeUseOfin henkilöstökirjoittaja. Hän käsittelee ohjelmointia ja Linuxia käsitteleviä artikkeleita. Hän on myös salausharrastaja ja seuraa aina salausteollisuutta.
tilaa uutiskirjeemme
Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e -kirjoja ja ainutlaatuisia tarjouksia!
Klikkaa tästä tilataksesi