Встречается на 4% собеседований по Python
Что такое композиция в контексте ООП
Композиция — это принцип ООП, при котором один класс содержит экземпляры других классов, создавая отношение "часть-целое". В отличие от наследования, композиция обеспечивает более гибкую структуру, так как позволяет динамически изменять поведение объекта, заменяя его части.
Пример:
python
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)
- Даёт больше контроля над жизненным циклом компонентов
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы