Sobes.tech
Junior — Middle

Дар забони барномасозӣ, навъҳои дигаре аз маълумот, ба ғайр аз синфҳо, ҳамчун навъҳои истинодӣ ҳисоб мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар забони Swift, ғайр аз синфҳо, намудҳои истинодӣ дохил мешаванд:

  • Бастаҳо (Closures) — функсияҳое, ки метавонанд ишораҳоро ба тағйирёбандаҳо аз муҳити атроф бигиранд ва нигоҳ доранд.
  • Функсияҳо — дар Swift, функсияҳо намудҳои истинодӣ мебошанд.
  • Баъзе намудҳои Objective-C, масалан, объектҳои Foundation (NSString, NSArray ва ғайра) — онҳо ҳамчун синфҳо татбиқ шудаанд ва намудҳои истинодӣ мебошанд.

Баръакси структураҳо ва enumeration-ҳо, ки намудҳои арзишӣ мебошанд, намудҳои истинодӣ тавассути ишора интиқол дода мешаванд, яъне дар вақти таъин ё интиқол ба функсия, ишора ба ҳамон объект нусхабардорӣ мешавад, на нусхаи он.

Масалан:

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 ба як объект ишора мекунанд