Встречается на собеседованиях • сегодня
Какие два принципа 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
интервью вопросы и ответы