Назад к вопросам
Middle
122
Как в Python реализуется абстрактный класс?
Ответ от нейросети
sobes.tech AI
В Python абстрактные классы реализуются с помощью модуля abc (Abstract Base Classes). Абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит шаблоном для подклассов.
Для создания абстрактного класса нужно:
- Наследовать класс от
abc.ABC. - Использовать декоратор
@abstractmethodдля методов, которые должны быть реализованы в подклассах.
Пример:
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Bark"
class Cat(Animal):
def make_sound(self):
return "Meow"
# animal = Animal() # Ошибка: нельзя создать экземпляр абстрактного класса
dog = Dog()
print(dog.make_sound()) # Выведет: Bark
Таким образом, абстрактные классы помогают определить интерфейс и гарантировать, что подклассы реализуют необходимые методы.