Junior — Middle
Hogyan valósítható meg az objektumkompozíció a __init__ metódusban?
sobes.tech MI
Válasz az MI-től
iOS (Swift) esetén az objektumkompozíció az init metóduson belül úgy valósul meg, hogy a beágyazott objektumokat osztálytulajdonságként hozzuk létre és inicializáljuk. Az init konstruktorban létrehozza a szükséges komponensek példányait, és hozzárendeli azokat a tulajdonságaikhoz.
Példa:
class Engine {
var horsepower: Int
init(horsepower: Int) {
self.horsepower = horsepower
}
}
class Car {
let engine: Engine
let model: String
init(model: String, horsepower: Int) {
self.model = model
self.engine = Engine(horsepower: horsepower) // az Engine objektum kompozíciója a Car belsejében
}
}
let myCar = Car(model: "Tesla", horsepower: 500)
Ebben a példában a Car objektum belsejében egy Engine objektum található, amelyet az init konstruktorban hozunk létre és inicializálunk. Ez az objektumkompozíció példája.