Sobes.tech
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 — бардык экземплярлар менен бөлүшүлгөн статикалык өзгөрмө.