Junior — Middle
Ce alte tipuri de date, în afară de clase, sunt considerate tipuri de referință în limbajul de programare?
sobes.tech AI
Răspuns de la AI
În limbajul Swift, pe lângă clase, tipurile de referință includ:
- Closures — funcții care pot captura și păstra referințe la variabile din contextul înconjurător.
- Funcții — în Swift, funcțiile sunt tipuri de referință.
- Unele tipuri din Objective-C, cum ar fi obiectele Foundation (NSString, NSArray etc.) — sunt implementate ca clase și sunt tipuri de referință.
Spre deosebire de structuri și enumerări, care sunt tipuri de valoare, tipurile de referință sunt transmise prin referință, adică la atribuirea sau transmiterea către o funcție, se copiază referința la același obiect, nu o copie a acestuia.
Exemplu:
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) // Va afișa "Bob", deoarece person1 și person2 fac referire la același obiect