160 читали · 5 лет назад
Абстрактные классы в Python
Статья подготовлена для студентов курса «Web-разработчик на Python» в образовательном проекте OTUS. В прошлый раз, рассматривая принципы работы со слотами в классах, мы столкнулись с проблемой множественного наследования. Суть проблемы заключалась в том, что если у двух классов определён атрибут __slots__, то создать от них общий дочерний класс не получится. Можно, конечно, не указывать слоты в родительских классах и заполнить их только в дочернем, но это частный случай. Что же делать, если...
Абстрактные классы в Python
Несколько раз меня спрашивали на собеседованиях про абстрактные классы. В Python абстрактный класс используется как шаблон для других классов. Он определяет общие методы, которые дочерние классы обязаны реализовать, но сам абстрактный класс не может быть экземпляром. Для создания абстрактного класса в Python используется модуль abc, который позволяет определять обязательные методы и гарантировать, что подклассы их реализуют. 🛠 Пример абстрактного класса: • ABC — базовый класс для всех абстрактных классов...