Встречается на собеседованиях • сегодня
Какая возникнет проблема при неправильном использовании наследования
Неправильное использование наследования может привести к нарушению принципа подстановки Барбары Лисков (LSP), когда подкласс не может заменить родительский класс без изменения поведения программы. Это создает хрупкий и трудно поддерживаемый код.
Пример:
python
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Square(Rectangle):
def __init__(self, size):
super().__init__(size, size)
def set_width(self, width):
self.width = self.height = width # Нарушает LSP, так как изменяет и высотуЕсли клиентский код ожидает, что изменение ширины Rectangle не повлияет на высоту, использование Square приведет к ошибкам. Вместо наследования здесь лучше использовать композицию.

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