Встречается на собеседованиях • сегодня
Какие знаешь композиции
В Java композиция — это принцип проектирования, при котором один класс содержит ссылку на другой класс, делегируя ему часть функциональности. Это альтернатива наследованию (предпочтительнее из-за гибкости).
Пример:
java
class Engine {
void start() {
System.out.println("Engine started");
}
}
class Car {
private Engine engine; // Композиция
text
Car() {
this.engine = new Engine();
}
void start() {
engine.start(); // Делегирование
}}
text
**Преимущества:**
- Контроль над жизненным циклом зависимого объекта.
- Легкая замена зависимостей (например, через DI).
- Избегание проблем множественного наследования.
**Отличие от агрегации:** при композиции вложенный объект не существует без контейнера (например, `Engine` создается внутри `Car` и уничтожается с ним).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы