Абстрактные классы (АК), иногда также называемые абстрактными базовыми классами, гарантируют, что производные классы реализуют те или иные методы базового класса. В этой статье вы узнаете о преимуществах абстрактных классов и о том, как их определять при помощи встроенного метода abc. Итак, в чем же прелесть абстрактных классов? Не так давно у меня на работе был спор о том, какой шаблон использовать для реализации удобной в сопровождении иерархии классов в Python. У нас был класс BaseService, который определял общий интерфейс и несколько конкретных реализаций. Конкретные реализации делают разные вещи, но все они обеспечивают тот же самый интерфейс. Чтобы более четко проявить взаимосвязи, все конкретные реализации были производными от класса BaseServise. Чтобы сделать этот программный код максимально удобным в обслуживании и благоприятным для программиста, мы хотели удостовериться, что Итак, почему же может возникнуть потребность в использовании модуля Python abc для решения этой задачи