Встречается на собеседованиях • сегодня
Чем композиция лучше наследования
Композиция предпочтительнее наследования, когда нужно избежать жесткой связи между классами.
Преимущества композиции:
- Гибкость: можно динамически менять поведение, подставляя разные компоненты.
- Избегает проблем хрупкости базового класса (изменения в родительском классе могут сломать дочерние).
- Позволяет соблюдать принцип единственной ответственности (SRP).
Пример:
python
class Engine:
def start(self):
print("Engine started")
class Car:
def __init__(self):
self.engine = Engine() # Композиция
def start(self):
self.engine.start()
car = Car()
car.start() # Output: Engine startedПроблема наследования:
Если Car наследует Engine, то он становится жестко привязан к нему, что усложняет модификацию (например, замена двигателя на электрический).
Композиция делает код более модульным и удобным для тестирования.

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