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`-ի ներսում կամ որպես պակետային հայտարարություն։