Junior
როგორ შევქმნათ სტატიკური ცვლადი Kotlin-ში?
sobes.tech AI
პასუხი AI-სგან
კოტლინში პირდაპირი ანალოგი static საკვანძო სიტყვას Java-დან არ არსებობს. ამის ნაცვლად, გამოიყენება:
companion object: კლასის "სტატიკური" წევრების (მინდლები და მეთოდები) შექმნისთვის. ისინი დაკავშირებულია კლასთან, არა კონკრეტულ ნიმუშთან.- პაკეტის დონეზე ფუნქციები და თვისებები: გამოაცხადება ფაილის ზედა დონეზე (
Top-level declarations) და ხელმისაწვდომია ყველგან, კლასის სახელით კვალიფიკაციის გარეშე.
companion object-ის მაგალითი:
class MyClass {
companion object {
const val TAG = "MyClass" // კონსტანტა კომპილაციის დროს (როგორც 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 valcompanion object-ის შიგნით ან პაკეტის დეკლარაციად.