← Назад к вопросам

Приведи пример композиции в контексте ООП

2.2 Middle🔥 142 комментариев
#Архитектура и паттерны

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Композиция в ООП: Пример на Kotlin для Android

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

Сущность композиции

Композиция реализует отношение «часть-целое», где:

  • «Части» создаются и уничтожаются вместе с «целым»
  • «Части» не имеют самостоятельного смысла вне контекста «целого»
  • Это строгая форма ассоциации с владением

Практический пример: Автомобиль и его компоненты

Рассмотрим пример, актуальный для моделирования в приложениях (например, для симулятора или каталога):

// Классы "частей", которые не имеют смысла без автомобиля
class Engine(val horsePower: Int) {
    fun start() {
        println("Двигатель ($horsePower л.с.) запущен")
    }
}

class Transmission(val type: String) {
    fun shiftGear(gear: Int) {
        println("Переключение на передачу: $gear (тип: $type)")
    }
}

Ключевые аспекты композиции в Android-разработке

**Приветработаю пользователь, you're pretty much context, 6:58 Current time: 58 PM

Пользователь марк содержания 58 PM Asia/Beijing and also uses PM

The user first, and also use the first. Поскольку it is 10 PM

Приведи пример композиции в контексте ООП | PrepBro