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 як вариабли статик аст, ки байни ҳамаи намунаҳои синф умумӣ аст.