Junior — Middle
Ko saprotam ar kompozīcijas jēdzienu objektorientētajā programmēšanā?
sobes.tech AI
Atbilde no AI
Objektorientētajā programmēšanā kompozīcija ir princips, kurā viens objekts satur atsauces uz citām objektiem, lai izmantotu to funkcionalitāti. Tas ir veids, kā būvēt sarežģītus objektus no vienkāršākiem, kur viens objekts "veido" no citiem.
Kompozīcija atšķiras no mantošanas ar to, ka, nevis paplašinot klasi ar mantošanu, objekts iekļauj citus objektus un deleģē tiem daļu no darba. Tas palielina koda elastību un atkārtotu izmantošanu.
Piemērs Swift:
class Engine {
func start() {
print("Motors ieslēgts")
}
}
class Car {
private let engine = Engine() // kompozīcija: Car satur Engine
func startCar() {
engine.start() // deleģē motora ieslēgšanu
}
}
let car = Car()
car.startCar() // Izvadīs: Motors ieslēgts
Šeit, klase Car sastāv no Engine objekta un izmanto tā metodes, bez mantošanas no tā.