Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Método Abstracto | Polimorfismo y Abstracción
Programación Orientada a Objetos en Python a Fondo
course content

Contenido del Curso

Programación Orientada a Objetos en Python a Fondo

Programación Orientada a Objetos en Python a Fondo

1. Conceptos de POO
2. Herencia
3. Encapsulamiento
4. Polimorfismo y Abstracción
5. Métodos Mágicos

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

12345678
from abc import ABC, abstractmethod class SomeClass(ABC): @abstractmethod def some_method(): pass instance = SomeClass() # TypeError
copy

Los métodos abstractos deben implementarse en las subclases. No se puede crear una subclase sin redefinir todos los métodos abstractos:

12345678910111213141516
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
copy

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.

12345678910111213141516171819202122
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()
copy

Nota

Las clases y métodos abstractos existen para proporcionar una estructura de clases estricta.

Clase abstracta debe tener:

Selecciona unas respuestas correctas

¿Todo estuvo claro?

Sección 4. Capítulo 6
We're sorry to hear that something went wrong. What happened?
some-alt