Sobes.tech
Junior — Middle

Ի՞նչ է ենթադրվում օբյեկտային ուղղված ծրագրավորման կոնցեպցիայում՝ կոմպոզիցիայի մասին։

sobes.tech AI

Պատասխան AI-ից

Օբյեկտային կողմնորոշված ծրագրավորման մեջ, կոմպոզիցիան այն սկզբունքն է, որի համաձայն՝ մեկ օբյեկտը պարունակում է այլ օբյեկտների հղումներ՝ նրանց գործառույթները օգտագործելու համար։ Սա այն միջոցն է, որով կառուցվում են բարդ օբյեկտներ պարզագույններից, որտեղ մեկ օբյեկտը «կազմված է» այլ օբյեկտներից։

Կոմպոզիցիան տարբերվում է ժառանգությունից այն առումով, որ փոխարենը ընդլայնել դասը ժառանգությամբ, օբյեկտը ներառում է այլ օբյեկտներ և նրանց հանձնարարում է մասամբ աշխատանք։ Սա մեծացնում է կոդի ճկունությունը և վերաօգտագործելիությունը։

Օրինակ Swift-ում՝

class Engine {
    func start() {
        print("Մոտորը սկսվեց")
    }
}

class Car {
    private let engine = Engine()  // կոմպոզիցիա՝ Car-ը պարունակում է Engine

    func startCar() {
        engine.start()  // հանձնարարում ենք շարժիչի մեկնարկը
    }
}

let car = Car()
car.startCar()  // Արդյունք՝ Մոտորը սկսվեց

Այստեղ, Car դասը բաղկացած է Engine օբյեկտից և օգտագործում է նրա մեթոդները, առանց ժառանգության։