Sobes.tech
Junior — Middle

Кадом оператсия ё ё хосият дар таъриф кардани синф, ки дар сохтор нестанд?

sobes.tech AI

Ҷавоб аз AI

Дар Swift, синфҳо дорои хусусиятҳои гуногун мебошанд, ки структураҳо надоранд:

  • Мерос: синфҳо метавонанд аз синфҳои дигар мерос гиранд, ки имкон медиҳад сохторҳои ҳиерархия ва иваз кардани методҳоро созанд.
  • Деинициализаторҳо (deinit): синфҳо метавонанд деинициализаторҳо дошта бошанд, то захираҳоро ҳангоми нест кардани намуна озод кунанд.
  • Намуди истинод: синфҳо тавассути истинод гузаронида мешаванд, дар ҳоле ки структураҳо тавассути арзиш.
  • Намуди хусусиятҳо: синфҳо метавонанд хусусиятҳое дошта бошанд, ки истинодҳо ба объектҳо мебошанд, ки идоракунии хотираро таъсир мерасонад.
  • Имконият барои истифодаи истинодҳои weak ва unowned барои пешгирии циклҳои истинодҳои қавӣ.

Масалан, синф бо деинициализатор:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
    deinit {
        print("Person \(name) дар ҳолати деинициализатсия қарор дорад")
    }
}