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" // კონსტანტა კომპილაციის დროს (როგორც 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-ის შიგნით ან პაკეტის დეკლარაციად.