Sobes.tech
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 weak i unowned referenci 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")
    }
}