Что такое композиция
Python
Senior
Без компании
Что такое композиция
Ответы
Композиция — это принцип проектирования, при котором один класс включает в себя экземпляры других классов для делегирования части функциональности. Это альтернатива наследованию, обеспечивающая более гибкую и модульную архитектуру.
**Пример:**
```
class Engine:
def start(self):
return "Engine started"
class Car:
def __init__(self):
self.engine = Engine() # Композиция: Car содержит Engine
def drive(self):
return self.engine.start() + " -> Car is moving"
car = Car()
print(car.drive()) # Вывод: "Engine started -> Car is moving"
```
**Преимущества:**
- Лучшая инкапсуляция (внутренние детали скрыты).
- Легче менять компоненты без влияния на основной класс.
- Избегает проблем множественного наследования.
Композиция предпочтительнее наследования, когда требуется гибкость и слабая связанность.