Встречается на собеседованиях • сегодня
Какие плюсы и минусы композиции перед наследованием
Плюсы композиции:
- Гибкость: можно менять поведение во время выполнения, подменяя компоненты
- Избегает проблем хрупкости базового класса (fragile base class)
- Позволяет соблюдать принцип единственной ответственности (SRP)
- Уменьшает связность кода
- Легче тестировать (можно мокать отдельные компоненты)
Минусы композиции:
- Требует больше кода для делегирования методов
- Менее интуитивна для простых случаев "is-a" отношений
Пример:
java
// Вместо наследования:
class Engine {
void start() { /*...*/ }
}
class Car {
private Engine engine; // композиция
void start() {
engine.start(); // делегирование
}
}Когда выбирать:
- Если отношение "has-a" (у машины есть двигатель)
- Когда нужно переиспользовать код без наследования иерархии
- Когда поведение может меняться динамически

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