Встречается на собеседованиях • сегодня

К какой проблеме приводит не использование полиморфизма

Неиспользование полиморфизма приводит к жестко закодированным зависимостям между классами, что усложняет расширение и поддержку кода. Приходится писать множество условий if/elif/else или isinstance() проверок для разных типов, что нарушает принцип открытости/закрытости (OCP).

Пример плохого кода без полиморфизма:

python
def process_payment(method):
    if method == "credit_card":
        print("Processing credit card")
    elif method == "paypal":
        print("Processing PayPal")
    elif method == "crypto":
        print("Processing crypto")

Правильный подход с полиморфизмом:

python
class PaymentMethod:
    def process(self):
        pass

class CreditCard(PaymentMethod):
    def process(self):
        print("Processing credit card")

class PayPal(PaymentMethod):
    def process(self):
        print("Processing PayPal")

def process_payment(method: PaymentMethod):
    method.process()

Это делает код более гибким, расширяемым и соответствующим SOLID принципам.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы