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

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) - Даёт больше контроля над жизненным циклом компонентов