Встречается на собеседованиях • сегодня

Что такое композиция в контексте ООП

Композиция — это принцип ООП, при котором один класс содержит экземпляр другого класса как часть своей структуры. Объект-компонент не существует отдельно от содержащего его объекта.

Отличия от наследования:

  • Композиция предпочтительнее наследования, так как обеспечивает более гибкую структуру (принцип "предпочитайте композицию наследованию").
  • Позволяет изменять поведение класса во время выполнения, заменяя компоненты.

Пример:

java
class Engine {
    void start() { System.out.println("Engine started"); }
}

class Car {
    private Engine engine; // Композиция
    
    Car() {
        this.engine = new Engine();
    }
    
    void start() {
        engine.start();
    }
}

Здесь Car содержит Engine — если Car уничтожается, Engine тоже перестает существовать.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы