Sobes.tech
Junior — Middle

Obyektlərin təşəkkülü üçün hansı metodları tanıyırsan və siniflərdə istifadə edirsən?

sobes.tech Süni İntellekt

AI-dan cavab

iOS (Swift/Objective-C) daxilində, siniflərdə obyektlərin başlanğıc üçün müxtəlif metodlar istifadə olunur:

  1. İlkinləşdiricilər (initializers) — obyektin başlanğıc vəziyyətini müəyyən edən xüsusi metodlar. Swift-də bu init(), Objective-C-də isə -init metodlarıdır.

  2. Parametrli ilkinləşdiricilər — obyekt yaradılarkən başlanğıc dəyərlərini təyin etməyə imkan verir.

  3. Delegasiya ilə qurucular — bir ilkinləşdirici digərini çağırır ki, kod təkrarlanmasın.

  4. Standart xüsusiyyətlər vasitəsilə başlanğıc — sinifin xüsusiyyətləri, obyekt yaradılarkən, standart dəyərlərə sahib ola bilər.

Swift nümunəsi:

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-də, adətən, -init və ya xüsusi ilkinləşdiricilər vasitəsilə başlanğıc həyata keçirilir, məsələn:

- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}