Junior — Middle
Ի՞նչ այլ տվյալների տեսակներ, բացի դասերից, համարվում են հղման տեսակներ ծրագրավորման լեզվում։
sobes.tech AI
Պատասխան AI-ից
Swift լեզվում, բացի դասերից, ռեֆերենցիոն տիպերը ներառում են.
- Կապեր (Closures) — ֆունկցիաներ, որոնք կարող են բռնել և պահել շրջակա կոնտեքստից փոփոխականների հղումները:
- Ֆունկցիաներ — Swift-ում ֆունկցիաները ռեֆերենցիոն տիպեր են:
- Որոշ Objective-C տիպեր, օրինակ Foundation օբյեկտներ (NSString, NSArray և այլն) — դրանք իրականացված են որպես դասեր և ռեֆերենցիոն տիպեր:
Տարբերություն կառուցվածքների և ցուցակների հետ, որոնք արժեքային տիպեր են, ռեֆերենցիոն տիպերը փոխանցվում են հղումով, այսինքն՝ նշանակման կամ ֆունկցիային փոխանցման ժամանակ, նույն օբյեկտի հղումը պատճենվում է, ոչ թե նրա պատճենը:
Օրինակ՝
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Alice")
let person2 = person1
person2.name = "Bob"
print(person1.name) // Տպում է "Bob", քանի որ person1 և person2 հղում են նույն օբյեկտին