Junior — Middle
Ի՞նչ տարբերություն կա ստատիկ փոփոխականի և սովորական փոփոխականի միջև ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Ստատիկ փոփոխականը տարբերվում է սովորական փոփոխականից նրանով, որ պահպանում է իր արժեքը ֆունկցիայի կանչերի միջև կամ ամբողջ ծրագրի աշխատանքի ընթացքում, մինչդեռ սովորական փոփոխականը նորից ստեղծվում է յուրաքանչյուր կանչի ժամանակ և ոչնչացվում է դուրս գալով տեսանելիության տարածքից:
Օրինակ, Swift-ում, ստատիկ փոփոխականը դասի կամ կառուցվածքի ներսում պատկանում է հենց տիպին, ոչ թե օրինակին, և գոյություն ունի միայն մեկ օրինակով:
class Counter {
static var totalCount = 0
var count = 0
func increment() {
count += 1
Counter.totalCount += 1
}
}
let a = Counter()
a.increment()
print(a.count) // 1
print(Counter.totalCount) // 1
let b = Counter()
b.increment()
print(b.count) // 1
print(Counter.totalCount) // 2
Այստեղ, count սովորական օրինակային փոփոխական է, իսկ totalCount՝ ստատիկ փոփոխական, որը համատեղ է բոլոր օրինակների միջև։