Что такое абстрактный класс
Python
Senior
Без компании
Что такое абстрактный класс
Ответы
Абстрактный класс в Python — это класс, который нельзя инстанциировать напрямую, а только через его подклассы. Он служит шаблоном для других классов, определяя обязательные методы, которые должны быть реализованы в дочерних классах.
Для создания абстрактных классов используется модуль `abc` (Abstract Base Classes). Основные элементы:
- `ABC` — базовый класс для абстрактных классов.
- `@abstractmethod` — декоратор, помечающий метод как абстрактный (обязательный для реализации).
```
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof!"
# animal = Animal() # Ошибка: нельзя создать экземпляр абстрактного класса
dog = Dog()
print(dog.make_sound()) # Вывод: "Woof!"
```
**Используется для:**
- Обеспечения единого интерфейса.
- Контроля за соблюдением структуры классов.
- Уменьшения дублирования кода.