Junior — Middle
Koji drugi tipovi podataka, osim klasa, se smatraju referentnim tipovima u programskom jeziku?
sobes.tech АИ
Одговор од АИ
U jeziku Swift, osim klasa, tipovi referenci uključuju:
- Zatvaranja (Closures) — funkcije koje mogu uhvatiti i sačuvati reference na promenljive iz okruženja.
- Funkcije — u Swift-u, funkcije su tipovi referenci.
- Neki tipovi iz Objective-C, poput objekata Foundation (NSString, NSArray itd.) — implementirani su kao klase i su tipovi referenci.
Za razliku od struktura i enumeracija, koje su tipovi vrednosti, tipovi referenci se prosleđuju putem reference, tj. prilikom dodele ili prosleđivanja u funkciju, kopira se referenca na isti objekat, a ne njegov kopija.
Primer:
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) // Ispisaće "Bob", jer person1 i person2 referenciraju isti objekat