Sobes.tech
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:

  1. Boshlovchilar (initializers) — ob'ektning boshlang'ich holatini belgilovchi maxsus metodlar. Swiftda bu init(), Objective-Cda esa -init metodlari.

  2. Parametrli boshlovchilar — ob'ektni yaratishda boshlang'ich qiymatlarni belgilash imkonini beradi.

  3. Delegatsiyali konstruktorlar — bir boshlovchi, kod takrorlanishini oldini olish uchun, boshqasini chaqiradi.

  4. 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;
}