Sobes.tech
Junior — Middle
84

Poți explica ce înseamnă principiul de compoziție în programarea orientată pe obiecte?

Companiile au fost întrebate
СБЕР Бизнес
АО К-Технологии

Răspuns de la AI

sobes.tech AI

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

Например, если у вас есть класс Автомобиль, он может содержать объект класса Двигатель. Вместо того, чтобы Автомобиль наследовал Двигатель, он просто использует его как часть себя. Это повышает гибкость и повторное использование кода.

Пример на Python:

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

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

    def start(self):
        self.engine.start()  # делегирование вызова

car = Car()
car.start()  # Выведет: Двигатель запущен

Таким образом, композиция позволяет строить сложные объекты из простых компонентов, улучшая модульность и облегчая поддержку кода.