Sobes.tech
Junior — Middle

Sinf namunasini yaratishda konstruktorlar va boshlovchilar qanday tartibda bajariladi?

sobes.tech AI

AIdan javob

iOS'da (masalan, Swiftda) sinf yaratishda bajarilish tartibi quyidagicha:

  1. Avvalo, sinfda e'lon qilingan barcha xususiyatlarning inicializatorlari (agar ular uchun standart qiymatlar bo'lsa) bajariladi.
  2. Keyin, sinfning o'zining konstruktor (initializator) chaqiriladi.
  3. Agar sinf meros olsa, avvalo superklassning inicializatorlari chaqiriladi, so'ngra subklassning.

Swiftda misol:

class Parent {
    var name: String = "Parent"
    init() {
        print("Parent init")
    }
}

class Child: Parent {
    var age: Int = 10
    override init() {
        super.init() // avvalo superklass inicializatori
        print("Child init")
    }
}

let c = Child()
// Chiqish:
// Parent init
// Child init

Shu sababli, avvalo xususiyatlar inicializatsiya qilinadi, so'ngra superklassning inicializatori chaqiriladi va oxirida subklassning.