Что такое абстрактный класс

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!" ``` **Используется для:** - Обеспечения единого интерфейса. - Контроля за соблюдением структуры классов. - Уменьшения дублирования кода.