Junior — Middle
Koje operacije ili svojstva su dostupni prilikom definisanja klase, a kojih nema u strukturi?
sobes.tech АИ
Одговор од АИ
U Swift-u, klase imaju nekoliko karakteristika koje strukture nemaju:
- Nasleđivanje: klase mogu nasleđivati od drugih klasa, što omogućava kreiranje hijerarhija i prepisivanje metoda.
- Deinitializers (deinit): klase mogu imati deinitializers za oslobađanje resursa kada se instanca briše.
- Tip referenci: klase se prosleđuju putem referenci, dok se strukture prosleđuju putem vrednosti.
- Tipovi svojstava: klase mogu imati svojstva koja su reference na objekte, što utiče na upravljanje memorijom.
- Mogućnost korišćenja
weakiunownedreferenci za sprečavanje ciklusa jakih referenci.
Primer klase sa deinitializerom:
class Person {
var name: String
init(name: String) {
self.name = name
}
deinit {
print("Person \(name) se deinitializuje")
}
}