Соответствие персонажа в Python

Да, ваши ответы были технически правильными, но там, где вы поступили не так, не показывали их, вы понимаете, какие проблемы и недостатки вы выбираете друг за другом. Кроме того, они, вероятно, были обеспокоены / испугались совместимости своей кодовой базы с обновлениями в будущем. Этот тип ответа, возможно, помог (в дополнение к тому, что вы сказали):

«Выбор абстрактного класса над классом интерфейса зависит от того, что мы прогнозируем будущим кода.

Абстрактные классы обеспечивают лучшую совместимость вперед, потому что вы можете продолжить добавление поведения к абстрактному классу в будущее без нарушения существующего кода -> это невозможно с классом интерфейса.

С другой стороны, интерфейсные классы более гибкие, чем абстрактные классы. Это связано с тем, что они могут реализовать несколько интерфейсов . Дело в том, что Java не имеет множественных наследований, поэтому использование абстрактных классов не позволит вам использовать структура иерархии других классов ...

Итак, в конечном итоге хорошее общее правило: Предпочитаете использовать интерфейсные классы, если в вашей кодовой базе нет существующих / стандартных реализаций. И используйте абстрактные классы для сохранения совместимость, если вы знаете, что в будущем вы будете обновлять свой класс ».

Удачи в следующем интервью!

-4
задан Nirmal Gauda 22 April 2019 в 10:06
поделиться