Sobes.tech
Junior

Ինչպես ստեղծել ստատիկ փոփոխական Kotlin-ում?

sobes.tech AI

Պատասխան AI-ից

Կոտլինում չկա ուղիղ համարժեք static բանալի բառի Java-ից։ Փոխարենը օգտագործվում են՝

  • companion object: Կլասի "ստատիկ" անդամներ (մասիններ և մեթոդներ) ստեղծելու համար։ Դրանք կապված են կլասի հետ, ոչ թե կոնկրետ օրինակակի։
  • Պակետային ֆունկցիաներ և հատկություններ: Դրանք հայտարարում են ֆայլի վերևում (Top-level declarations) և հասանելի են ցանկացած վայրից՝ առանց կլասի անունով որակելու։

companion object-ի օրինակ՝

class MyClass {
    companion object {
        const val TAG = "MyClass" // Կոնստանտ ժամանակի կ compile-ման (ինչպես final static Java-ում)
        var instanceCount = 0 // Փոփոխական, կապված կլասի հետ
    }

    init {
        instanceCount++
    }
}

Պակետային հատկությունների օրինակ՝

// MyGlobals.kt ֆայլում
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0

fun incrementGlobalCounter() {
    globalCounter++
}

Տարբերություններ և ընտրություն՝

  • companion object-ը հարմար է այն անդամների համար, որոնք տրամաբանականորեն կապված են կլասի հետ։
  • Պակետային անդամները հարմար են ընդհանուր օգտակար գործիքների, կոնստանտների կամ փոփոխականների համար, որոնք չեն կապված կոնկրետ կլասի հետ։
  • Կոնստանտների համար՝ օգտագործեք const val``-ը companion object`-ի ներսում կամ որպես պակետային հայտարարություն։