Sobes.tech
Junior — Middle

Класс мисалын түзүүдө конструкторлор жана баштапкы түзмөлөр кандай тартипте ишке ашырылат?

sobes.tech AI

AIден жооп

iOS'до (мисалы, Swift'те) класс мисалы түзүүдө, аткаруу тартиби төмөндөгүчө:

  1. Биринчи бардык класста жарыяланган мүчөлөрдүн инициаторлору (эгер алар алдын ала маанилери болсо) ишке ашырылат.
  2. Андан соң, класс өзүңдүн куруучу (инициализатору) чакырылат.
  3. Эгер класс мурас алса, биринчи үстүңкү класстын инициаторлору чакырылат, андан кийин төмөнкү класстын.

Swiftте мисал:

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

class Child: Parent {
    var age: Int = 10
    override init() {
        super.init() // биринчи үстүңкү класстын инициатору
        print("Child init")
    }
}

let c = Child()
// Чыгуу:
// Parent init
// Child init

Ошентип, биринчи өзгөчөлүктөр инициалдаштырылат, андан соң үстүңкү класстын инициатору чакырылат жана акырында төмөнкү класстын.