Junior — Middle
Дар кадом тартиб иҷрои конструкторҳо ва оғозкунандагон ҳангоми эҷоди намунаи синф?
sobes.tech AI
Ҷавоб аз AI
Ҳангоми эҷоди намунаи синф дар iOS (масалан, дар Swift), тартиби иҷроиш чунин аст:
- Аввал, инициализаторҳои ҳамаи хосиятҳое, ки дар синф эълон шудаанд (агар онҳо арзишҳои пешфарз дошта бошанд), иҷро мешаванд.
- Пас, конструктор (инициализатор)-и худи синф даъват мешавад.
- Агар синф мерос гирад, аввал инициализаторҳои суперкласс даъват мешаванд, баъд инициализаторҳои субкласс.
Масалан дар 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
Бинобар ин, аввал хосиятҳо инициализатсия мешаванд, сипас инициализатори суперкласс даъват мешавад ва дар охир инициализатори субкласс.