Junior — Middle
Obyektga yo'naltirilgan dasturlashda kompozitsiya tushunchasi nima?
sobes.tech AI
AIdan javob
Obyekt yo‘nalishli dasturlashda, kompozitsiya — bu bir obyekt boshqa obyektlarga havolalar o‘z ichiga olgan holda ularning funksionalligidan foydalanadigan prinsip. Bu oddiyroq obyektlardan murakkab obyektlarni qurish usuli bo‘lib, bunda obyekt "boshqalar"dan tashkil topgan.
Kompozitsiya merosdan farq qiladi, chunki meros o‘rniga, obyekt boshqa obyektlarni o‘z ichiga oladi va ularga qisman ishlarni delegatsiya qiladi. Bu kodning moslashuvchanligini va qayta ishlatilishini oshiradi.
Swiftda misol:
class Engine {
func start() {
print("Motor ishga tushdi")
}
}
class Car {
private let engine = Engine() // kompozitsiya: Car Engine ni o‘z ichiga oladi
func startCar() {
engine.start() // motorni ishga tushirishni delegatsiya qilamiz
}
}
let car = Car()
car.startCar() // Natija: Motor ishga tushdi
Bu yerda, Car sinfi Engine obyektidan tashkil topgan va uning metodlaridan foydalanadi, meros olmadi.