Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Método Abstracto
Método abstracto es un método que debe redefinirse en las subclases.
Para crear un método abstracto, debes importar el decorador @abstractmethod
de la librería abc
.
``python
from abc import ABC, métodoabstracto
from abc import ABC, abstractmethod class SomeClass(ABC): @abstractmethod def some_method(): pass instance = SomeClass() # TypeError
Los métodos abstractos deben implementarse en las subclases. No se puede crear una subclase sin redefinir todos los métodos abstractos:
from abc import ABC, abstractmethod class AbstractParent(ABC): @abstractmethod def first_method(): pass @abstractmethod def second_method(): pass class Child(AbstractParent): def first_method(self): print("The first method") instance = Child() # TypeError
La clase Child
guardó el estado Abstract Class porque el second_method
no está redefinido, y la clase ABC
existe en la jerarquía de herencia.
from abc import ABC, abstractmethod class AbstractParent(ABC): @abstractmethod def first_method(): pass @abstractmethod def second_method(): pass class Child(AbstractParent): def first_method(self): print("The first method") def second_method(self): print("The second method") instance = Child() instance.first_method() instance.second_method()
Nota
Las clases y métodos abstractos existen para proporcionar una estructura de clases estricta.
¡Gracias por tus comentarios!