Встречается на 1% собеседований по Python
Какие два принципа SOLID максимально похожи друг на друга
Принципы LSP (Liskov Substitution Principle) и ISP (Interface Segregation Principle) часто путают, так как оба связаны с проектированием интерфейсов и наследованием.
- LSP требует, чтобы подклассы могли заменять родительские классы без изменения корректности программы.
- ISP говорит, что клиенты не должны зависеть от интерфейсов, которые они не используют.
Пример нарушения LSP:
python
class Bird:
def fly(self):
pass
class Penguin(Bird): # Пингвин не может летать, нарушение LSP
def fly(self):
raise NotImplementedErrorПример нарушения ISP:
python
class Worker:
def work(self): pass
def eat(self): pass
class Robot(Worker): # Роботу не нужно есть, но он вынужден реализовывать eat()
def eat(self):
raise NotImplementedErrorОба принципа направлены на избегание "ненужных" методов, но LSP фокусируется на поведении подклассов, а ISP — на разделении интерфейсов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы