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
> Nota
>
> Atención: decorator se importa sin el símbolo `@`.
12345678from 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:
12345678910111213141516from 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.
12345678910111213141516171819202122from 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!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.78
Método Abstracto
Desliza para mostrar el menú
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
> Nota
>
> Atención: decorator se importa sin el símbolo `@`.
12345678from 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:
12345678910111213141516from 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.
12345678910111213141516171819202122from 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!