Что такое композиция в контексте ООП
Python
Middle
Без компании
Что такое композиция в контексте ООП
Ответы
Композиция — это принцип ООП, при котором один класс содержит экземпляры других классов, создавая отношение "часть-целое". В отличие от наследования, композиция обеспечивает более гибкую структуру, так как позволяет динамически изменять поведение объекта, заменяя его части.
Пример:
```
class Engine:
def start(self):
print("Engine started")
class Car:
def __init__(self):
self.engine = Engine() # Композиция
def start(self):
self.engine.start()
car = Car()
car.start() # Выведет: "Engine started"
```
Ключевые особенности:
- Объект-часть существует только пока существует объект-целое
- Позволяет избежать проблем хрупкого базового класса
- Реализует принцип "предпочитай композицию наследованию" (Gang of Four)
- Даёт больше контроля над жизненным циклом компонентов