Кадом методҳои оғозёбии объектҳоро мешиносӣ ва дар синфҳо истифода мебарӣ?
sobes.tech AI
Ҷавоб аз AI
Дар iOS (Swift/Objective-C), усулҳои гуногун барои оғоз кардани объектҳо дар синфҳо истифода мешаванд:
-
Инициализаторҳо (initializers) — методҳои махсус, ки ҳолати ибтидоии объектро муайян мекунанд. Дар Swift ин
init(), дар Objective-C — методҳои-init. -
Инициализаторҳо бо параметрҳо — имкон медиҳанд, ки арзишҳои ибтидоиро ҳангоми сохтани объект муайян кунанд.
-
Конуструкторҳои бо делегация — як инициализатор дигарро даъват мекунад, то такрори коди иловагӣ пешгирӣ шавад.
-
Инициализатсия тавассути хосиятҳои пешфарз — хосиятҳои синф метавонанд арзишҳои пешфарз дошта бошанд, ки ҳангоми сохтани объект муайян карда мешаванд.
Масалан дар Swift:
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, одатан, оғоз кардан тавассути методи -init ё инициализаторҳои махсус сурат мегирад, масалан:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}