Sobes.tech
Junior — Middle

Ի՞նչ տարբերություն կա օբյեկտը որպես առանձին օրինակ հայտարարելու և օբյեկտ-համախմբիչ օգտագործելու միջև դասի ներսում։

sobes.tech AI

Պատասխան AI-ից

Swift լեզվում, ընկերական օբյեկտը իրականացվում է static կամ class բանալի բառով դասի ներսում, ինչը թույլ է տալիս ստեղծել հատկություններ և մեթոդներ, որոնք կապված են հենց դասի հետ, ոչ թե նրա օրինակների հետ: Սա նման է "Singleton" ձևանմուշին կամ այլ լեզուների static անդամներին:

  • Անցանկալի օրինակ — դա կոնկրետ օբյեկտ է, որը ստեղծվում է դասի ինիցիալիզացիայով: Յուրաքանչյուր օրինակ ունի իր վիճակը և վարքը:

  • Ընկերական օբյեկտ (ստատիկ օբյեկտ) — դա դասի մաս է, ընդհանուր բոլոր օրինակների համար, և դրա հասանելիության համար անհրաժեշտ չէ ստեղծել օբյեկտ:

Օրինակ:

class MyClass {
    static let companion = MyClass()
    var value: Int = 0
}

// Օգտագործում
MyClass.companion.value = 10

let instance = MyClass()
instance.value = 5

Այստեղ, companion — ստատիկ ընկերական օբյեկտ է, հասանելի առանց դասի օրինակ ստեղծելու, իսկ instance — առանձին օրինակ է իր սեփական վիճակով։