Встречается на собеседованиях • сегодня

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

Композиция — это принцип ООП, при котором один класс содержит экземпляры других классов, создавая отношение "часть-целое". В отличие от наследования, композиция обеспечивает более гибкую структуру, так как позволяет динамически изменять поведение объекта, заменяя его части.

Пример:

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)
  • Даёт больше контроля над жизненным циклом компонентов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы