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) дар ҳолати деинициализатсия қарор дорад")
}
}