Sobes.tech
Junior — Middle

Кадом методҳои оғозёбии объектҳоро мешиносӣ ва дар синфҳо истифода мебарӣ?

sobes.tech AI

Ҷавоб аз AI

Дар iOS (Swift/Objective-C), усулҳои гуногун барои оғоз кардани объектҳо дар синфҳо истифода мешаванд:

  1. Инициализаторҳо (initializers) — методҳои махсус, ки ҳолати ибтидоии объектро муайян мекунанд. Дар Swift ин init(), дар Objective-C — методҳои -init.

  2. Инициализаторҳо бо параметрҳо — имкон медиҳанд, ки арзишҳои ибтидоиро ҳангоми сохтани объект муайян кунанд.

  3. Конуструкторҳои бо делегация — як инициализатор дигарро даъват мекунад, то такрори коди иловагӣ пешгирӣ шавад.

  4. Инициализатсия тавассути хосиятҳои пешфарз — хосиятҳои синф метавонанд арзишҳои пешфарз дошта бошанд, ки ҳангоми сохтани объект муайян карда мешаванд.

Масалан дар 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;
}