Sobes.tech
Назад к вопросам
Middle
7

Ты знаком с композицией в ООП? Расскажи про неё.

Компании, где спрашивали
ИП Ганус Александр Андреевич

Ответ от нейросети

sobes.tech AI

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

Например, вместо того чтобы наследовать свойства и методы, класс может иметь внутри себя экземпляр другого класса и делегировать ему часть работы.

Пример на Python:

class Engine:
    def start(self):
        print("Двигатель запущен")

class Car:
    def __init__(self):
        self.engine = Engine()  # композиция

    def start(self):
        self.engine.start()  # делегируем вызов
        print("Машина поехала")

car = Car()
car.start()

Здесь Car содержит объект Engine и использует его метод start. Это более гибко, чем наследование, так как можно менять компоненты динамически.