Junior — Middle
Sınıflarda tanıdığınız ve kullandığınız nesne başlatma yöntemleri nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS (Swift/Objective-C) üzerinde, sınıflarda nesneleri başlatmak için çeşitli yöntemler kullanılır:
-
İlkleyiciler (initializers) — nesnenin başlangıç durumunu belirleyen özel yöntemlerdir. Swift'te
init(), Objective-C'de ise-inityöntemleridir. -
Parametreli ilkleyiciler — nesne oluşturulurken başlangıç değerleri ayarlamaya olanak tanır.
-
Delegasyonlu yapıcılar — bir ilkleyici, kod tekrarını önlemek için diğerini çağırır.
-
Varsayılan özellikler aracılığıyla başlatma — sınıf özellikleri, nesne oluşturulurken ayarlanan varsayılan değerlere sahip olabilir.
Swift örneği:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
let p1 = Person(name: "Иван", age: 30)
let p2 = Person(name: "Мария")
Objective-C'de, genellikle -init veya özel ilkleyiciler aracılığıyla başlatma yapılır, örneğin:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}