O clasă abstractă este un plan pentru clase conexe. Nu poate fi instanțiat, ci poate fi accesat doar prin moștenire. O subclasă care moștenește o clasă abstractă este necesară pentru implementarea metodelor sale abstracte. În caz contrar, compilatorul va semnaliza o eroare.

Metodele abstracte sunt metode fără implementare. O clasă abstractă poate avea metode abstracte sau metode concrete (normale).

Python nu acceptă direct metodele abstracte, dar le puteți accesa prin abc (clasa de bază abstractă) modul.

Utilizarea modulului abc în Python

Pentru a defini o clasă abstractă în Python, trebuie import modulul abc.

Vedeți exemplul de mai jos:

din ABC ABC import
clasa AbstractClassName (ABC):
trece

Observați cuvântul cheie trece. Acest cuvânt cheie este folosit pentru a înlocui codul gol. Lăsând-o afară va apărea o eroare de compilare.

Legate de: Va face Julia o ofertă pentru Tronul lui Python?

Definiții de clasă, definiții ale metodelor, bucle și dacă declarațiile așteaptă implementări de cod. Deci, lăsându-le afară, apare o eroare de compilare. Pentru a evita acest lucru, utilizați

instagram viewer
trece pentru a înlocui codul gol.

Pentru a defini o metodă abstractă în Python, utilizați @metoda abstracta decorator:

din abc import ABC, abstractmethod
clasa AbstractClassName (ABC):
@metoda abstracta
def AbstractMethod (self):
trece

În acest moment, ar fi bine să menționăm că - spre deosebire de Java - metodele abstracte din Python pot avea o implementare.. Această implementare poate fi accesată prin metoda suprascriere folosind super() metodă.

import abc
clasa AbstractClass (ABC):
def __init __ (sine, valoare):
self.value = valoare
super () .__ init __ ()
@ abc.abstractmethod
def some_action (self):
print („Aceasta este implementarea părinte.”)
clasa MySubclass (AbstractClassExample):
def some_action (self):
super (). some_action ()
print ("Aceasta este implementarea subclasei. ")
x = MySubclass ()
x.some_action ()

Este interesant de observat că puteți defini un constructor într-o clasă abstractă.

Pe linia 9, puteți observa asta @ abc.abstractmethod a fost folosit ca decorator de metode abstracte. Acesta este un alt mod de a face acest lucru, altul decât forma anterioară. Observați, de asemenea, că linia 1 este mai scurtă (import abc) decât importul din prima linie 1 pe care l-ați folosit.

Totul este o chestiune de alegere. Cu toate acestea, mulți pot găsi a doua metodă mai scurtă.

Manevrarea excepțiilor în Python

Observați că nu există nicio modalitate de a înregistra erori în exemplul de cod dat mai sus. Bug-urile apar de cele mai multe ori, iar existența unui mod sigur de a le obține poate fi un schimbător de jocuri.

Aceste evenimente care perturbă fluxul normal al programului sunt numite „excepții”, iar gestionarea lor se numește „gestionarea excepțiilor”. Următorul pe lista dvs. de lectură Python ar trebui să fie tratarea excepțiilor.

AcțiuneTweetE-mail
Cum să gestionați excepțiile în Python

Acoperiți-vă bazele de codificare cu excepții Python.

Citiți în continuare

Subiecte asemănătoare
  • Programare
  • Programare
  • Piton
  • Limbaje de programare
Despre autor
Jerome Davidson (24 articole publicate)

Jerome este personal scriitor la MakeUseOf. El acoperă articole despre programare și Linux. El este, de asemenea, un entuziast criptografic și ține mereu la curent industria cripto.

Mai multe de la Jerome Davidson

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona