Junior — Middle
V čom spočíva rozdiel medzi deklarovaním objektu ako samostatnej inštancie a používaním objektu-kompána v rámci triedy?
sobes.tech AI
Odpoveď od AI
V jazyku Swift je objekt sprievodca implementovaný pomocou kľúčového slova static alebo class v rámci triedy, čo umožňuje vytváranie vlastností a metód spojených s samotnou triedou, nie s jej inštanciami. Toto je analógie s vzorom "Singleton" alebo statickými členmi v iných jazykoch.
-
Samostatná inštancia objektu — je konkrétny objekt vytvorený inicializáciou triedy. Každá inštancia má svoj stav a správanie.
-
Objekt sprievodca (statický objekt) — je časťou triedy, ktorá je spoločná pre všetky inštancie, a na prístup nie je potrebné vytvárať objekt.
Príklad:
class MyClass {
static let companion = MyClass()
var value: Int = 0
}
// Použitie
MyClass.companion.value = 10
let instance = MyClass()
instance.value = 5
Tu je companion statický sprievodca objekt, dostupný bez vytvorenia inštancie triedy, a instance je samostatná inštancia s vlastným stavom.