Какова цель конкретных методов в абстрактных классах в Python? - PullRequest
0 голосов
/ 10 июля 2019

Я чувствую, что эта тема затрагивается в некоторых других вопросах, но она не касается конкретно Python (3.7), с которым я больше всего знаком.

Я начинаю пониматьзнакомство с абстрактными классами и как их использовать в качестве чертежей для подклассов, которые я создаю.

Что я не понимаю, так это назначение конкретных методов в абстрактных классах.

ЕслиЯ никогда не собираюсь создавать экземпляр своего родительского абстрактного класса, зачем вообще нужен конкретный метод, разве я не должен просто придерживаться абстрактных методов, чтобы управлять созданием моих подклассов и указывать ожидаемое поведение?

Спасибо.

1 Ответ

0 голосов
/ 10 июля 2019

Этот вопрос не специфичен для Python, но ориентирован на общий объект.

Могут быть случаи, когда всем вашим подклассам нужен определенный метод с общим поведением.Было бы утомительно реализовывать один и тот же метод во всех ваших подклассах.Если вместо этого вы реализуете метод в родительском классе, все ваши подклассы наследуют этот метод автоматически.Даже вызывающие пользователи могут вызывать метод в вашем подклассе, хотя он реализован в родительском классе.Это одна из основных механик наследования классов.

...