Встречается на собеседованиях • сегодня
Как бы выглядела абстракция на уровне владения одного класса другими
Абстракция владения в Java обычно реализуется через композицию или агрегацию.
Композиция (сильное владение):
java
class Engine {
void start() { System.out.println("Engine started"); }
}
class Car {
private final Engine engine = new Engine(); // Композиция - двигатель не существует без машины
void start() { engine.start(); }
}Двигатель создается и уничтожается вместе с машиной.
Агрегация (слабое владение):
java
class Wheel {
void rotate() { System.out.println("Wheel rotating"); }
}
class Bicycle {
private Wheel wheel; // Агрегация - колесо может существовать отдельно
void setWheel(Wheel wheel) { this.wheel = wheel; }
void ride() { if (wheel != null) wheel.rotate(); }
}Колесо передается извне и может быть заменено.
Выбор зависит от жизненного цикла объектов. Композиция — для жесткой связи, агрегация — для гибкости.

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