Junior — Middle
Оё шумо метавонед хосиятҳое, ки дар забони Swift дастрасанд, номбар кунед ва шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Дар Swift хусусиятҳо тағйирёбандаҳо ё константҳо мебошанд, ки бо синфҳо, сохторҳо ё enumerationҳо алоқаманданд ва маълумотро нигоҳ медоранд ё арзишҳоро ҳисоб мекунанд.
Намудҳои асосии хусусиятҳо:
- Хусусиятҳои захирашуда (Stored Properties) — арзиши доимӣ ё тағйирёбандаро нигоҳ медоранд. Масалан:
struct Шахс {
var ном: String // хусусияти тағйирёбанда
let соли таваллуд: Int // хусусияти доимӣ
}
- Хусусиятҳои ҳисобшуда (Computed Properties) — арзишро мустақиман нигоҳ намедоранд, балки ҳангоми дастрасӣ ҳисоб мекунанд. Мутобиқати getter ва setter метавонанд дошта бошанд:
struct Маҳдуд {
var паҳнӣ: Double
var баландӣ: Double
var майдони: Double {
return паҳнӣ * баландӣ
}
}
- Назораткунандагони хусусият (Property Observers) — имкон медиҳанд, ки ба тағйироти арзиши хусусияти захирашуда бо истифода аз
willSetваdidSetвокуниш нишон диҳем:
var хол: Int = 0 {
willSet {
print("Бояд ба \(newValue) тағйир ёбад")
}
didSet {
print("Аз \(oldValue) ба \(хол) тағйир ёфт")
}
}
- Хусусиятҳои намуди (Type Properties) — ба худи намуд, на ба намуна, тааллуқ доранд ва бо
staticёclassэълон карда мешаванд:
struct Математика {
static let pi = 3.14159
}
Бо ин роҳҳо, хусусиятҳо дар Swift имкон медиҳанд, ки маълумотҳоро қулай нигоҳ дошта, ҳисоб кунанд ва тағйиротҳои онҳоро пайгирӣ кунанд.