Junior — Middle
Bir sınıf örneği oluşturulurken yapıcılar ve başlatıcılar hangi sırayla çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'ta (örneğin Swift'te) bir sınıf örneği oluşturulurken, yürütme sırası şu şekildedir:
- Öncelikle, sınıfta tanımlanmış tüm özelliklerin yapıcıları (varsayılan değerleri varsa) çalıştırılır.
- Ardından, sınıfın kendisinin yapıcı (initializer) çağrılır.
- Eğer sınıf miras alıyorsa, önce üst sınıfın yapıcıları çağrılır, sonra alt sınıfın.
Swift'te örnek:
class Parent {
var name: String = "Parent"
init() {
print("Parent init")
}
}
class Child: Parent {
var age: Int = 10
override init() {
super.init() // önce üst sınıfın yapıcısı
print("Child init")
}
}
let c = Child()
// Çıktı:
// Parent init
// Child init
Bu nedenle, önce özellikler başlatılır, sonra üst sınıfın yapıcısı çağrılır ve ardından alt sınıfın yapıcısı çağrılır.