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
Pregunte me preguntas sobre este tema
Resumir este capítulo
Mostrar ejemplos del mundo real
Genial!
Completion tasa mejorada a 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!