Назад к вопросам
Middle
62
questionbank
Как в Python реализуется абстрактный класс?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Абстрактные классы в Python реализуются с использованием модуля abc (Abstract Base Classes). Определяется класс, который наследуется от ABC, и методы, которые должны быть реализованы в дочерних классах, помечаются декоратором @abstractmethod.
import abc
class AbstractClass(abc.ABC):
@abc.abstractmethod
def abstract_method(self):
pass
def concrete_method(self):
// Обычный метод
print("Это конкретный метод")
// Дочерний класс MUST реализовать abstract_method
class ConcreteClass(AbstractClass):
def abstract_method(self):
// Реализация абстрактного метода
print("Это реализация абстрактного метода")
# Попытка создать экземпляр AbstractClass вызовет TypeError
# obj = AbstractClass()
# Создание экземпляра ConcreteClass возможно, так как абстрактный метод реализован
obj = ConcreteClass()
obj.abstract_method()
obj.concrete_method()
С помощью абстрактных классов можно определить интерфейс, которому должны соответствовать производные классы, не допуская создания экземпляров самого абстрактного класса. Это обеспечивает структуру и гарантирует наличие определенных методов в классах, наследующихся от абстрактного.