Una clase abstracta es un modelo para clases relacionadas. No se puede crear una instancia, pero solo se puede acceder a él a través de la herencia. Se requiere una subclase que hereda una clase abstracta para implementar sus métodos abstractos. De lo contrario, el compilador marcará un error.

Los métodos abstractos son métodos sin implementación. Una clase abstracta puede tener métodos abstractos o métodos concretos (normales).

Python no admite directamente métodos abstractos, pero puede acceder a ellos a través del a B C (clase base abstracta) módulo.

Usando el módulo abc en Python

Para definir una clase abstracta en Python, necesita importar el módulo abc.

Vea el ejemplo a continuación:

desde abc import ABC
clase AbstractClassName (ABC):
aprobar

Fíjate en la palabra clave aprobar. Esta palabra clave se utiliza para representar un código vacío. Si lo deja fuera, se producirá un error de compilación.

Relacionado: ¿Julia hará una oferta por el trono de Python?

Definiciones de clases, definiciones de métodos, bucles y

instagram viewer
si Las declaraciones esperan implementaciones de código. Por lo tanto, dejarlos fuera da un error de compilación. Para evitar esto, use aprobar para sustituir el código vacío.

Para definir un método abstracto en Python, use el @abstractmethod decorador:

de abc import ABC, método abstracto
clase AbstractClassName (ABC):
@abstractmethod
def método abstracto (uno mismo):
aprobar

En este punto, sería bueno mencionar que, a diferencia de Java, los métodos abstractos en Python pueden tener una implementación... Se puede acceder a esta implementación en el método de reemplazo utilizando el súper() método.

importar abc
clase AbstractClass (ABC):
def __init __ (self, value):
self.value = valor
super () .__ init __ ()
@ abc.abstractmethod
def alguna_acción (yo):
print ("Esta es la implementación principal")
clase MySubclass (AbstractClassExample):
def alguna_acción (yo):
super (). alguna_acción ()
print ("Esta es la implementación de la subclase. ")
x = Mi subclase ()
x.alguna_acción ()

Es interesante notar que puede definir un constructor en una clase abstracta.

En la línea 9 se puede observar que @ abc.abstractmethod se ha utilizado como decorador del método abstracto. Esta es otra forma de hacerlo que no sea la forma anterior. Observe también que la línea 1 es más corta (importar abc) que la importación de la línea 1 anterior que usó.

Todo es cuestión de elección. Sin embargo, muchos pueden encontrar el segundo método más corto.

Manejo de excepciones en Python

Tenga en cuenta que no hay forma de capturar errores en el ejemplo de código dado anteriormente. Los errores ocurren la mayoría de las veces, y tener una forma confiable de conseguirlos puede cambiar las reglas del juego.

Estos eventos que interrumpen el flujo normal del programa se denominan "excepciones" y su gestión se denomina "gestión de excepciones". Lo siguiente en su lista de lectura de Python debería ser el manejo de excepciones.

CuotaPíoCorreo electrónico
Cómo manejar excepciones en Python

Cubre tus bases de codificación con excepciones de Python.

Leer siguiente

Temas relacionados
  • Programación
  • Programación
  • Pitón
  • Lenguajes de programación
Sobre el Autor
Jerome Davidson (24 artículos publicados)

Jerome es redactor de MakeUseOf. Cubre artículos sobre programación y Linux. También es un entusiasta de la criptografía y siempre está al tanto de la industria de la criptografía.

Más de Jerome Davidson

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse