Не каждый способен всю жизнь дышать и питаться абстракциями. Абстракции восхитительны, но дышать воздухом и есть хлеб тоже, по-моему, надо (Герман Гессе). Абстрактные классы гарантируют, что их подклассы должны реализовать определенные методы. Это может быть полезно, когда вы разрабатываете общий функционал программы и предполагаете, что некоторые методы будут реализованы в конкретных подклассах. Например, если вы пишете скрипт скачивания объявлений с сайта продаж, на верхнем уровне можно реализовать функционал обхода страниц объявлений, а подкласс в зависимости от сайта будет уточнять методы парсинга полей определенного товара. Как и говорил выше, в основном классе мы можем создать скелет обхода страниц, а детали отдаются на откуп конкретной реализации (для гарантии этого выбрасываем исключение), так как для разных сайтов они будут меняться (например, для Авито, Юлы, Циан). Реализуем игрушечный шаблон подкласса, чтобы метод get_new_url возвращал 1 при атрибуте класса менее трех, а пот
Как создавать абстрактные классы в Python и когда они пригодятся
9 февраля 20239 фев 2023
36
1 мин