Sobes.tech
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.