Junior — Middle
Siz tanigan va sinflarda foydalanadigan obyektlarni boshlash usullari qanday?
sobes.tech AI
AIdan javob
iOS (Swift/Objective-C) da, ob'ektlarni boshlash uchun turli usullardan foydalaniladi:
-
Boshlovchilar (initializers) — ob'ektning boshlang'ich holatini belgilovchi maxsus metodlar. Swiftda bu
init(), Objective-Cda esa-initmetodlari. -
Parametrli boshlovchilar — ob'ektni yaratishda boshlang'ich qiymatlarni belgilash imkonini beradi.
-
Delegatsiyali konstruktorlar — bir boshlovchi, kod takrorlanishini oldini olish uchun, boshqasini chaqiradi.
-
Standart xususiyatlar orqali boshlash — sinf xususiyatlari, ob'ekt yaratilganda, standart qiymatlarga ega bo'lishi mumkin.
Swift misoli:
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-Cda, odatda, -init yoki maxsus boshlovchilar yordamida boshlash amalga oshiriladi, masalan:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}