← Назад к вопросам
Приведи пример композиции в контексте ООП
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