Sobes.tech
Junior — Middle

როგორ შეიძლება მთელი კლასი Kotlin-ში გამოაცხადოთ სტატიკურად, რათა ის არ საჭიროებდეს ინстанციის შექმნას?

sobes.tech AI

პასუხი AI-სგან

Kotlin-да Java-სა მსგავსი static საკვანძო სიტყვა არ არსებობს, მაგრამ არსებობს რამდენიმე გზა კლასის წევრების ან მთელი კლასის გამოცხადებისთვის ისე, რომ ობიექტის შექმნა არ იყოს საჭირო:

  1. Object (object) — სინგლტონ ობიექტის გამოცხადება, რომელიც ერთხელ ინიცილირდება და სახელით ხელმისაწვდომია:
object MySingleton {
    fun doSomething() {
        println("გამარჯობა სინგლტონიდან")
    }
}

// გამოყენება
MySingleton.doSomething()
  1. companion object — სტატიკური წევრების გამოცხადება კლასის შიგნით:
class MyClass {
    companion object {
        fun staticMethod() {
            println("სტატიკური მეთოდი")
        }
    }
}

// გამოძახება
MyClass.staticMethod()
  1. top-level ფუნქციები და თვისებები — ფუნქციებს და ცვლადებს შეიძლება გამოაცხადოთ კლასის გარეთ, ისინი იქნება ფაილის დონეზე სტატიკური.

თუ გსურთ, რომ მთელი კლასი იყოს სტატიკური და არ საჭიროებდეს ობიექტის შექმნას, ჩვეულებრივ იყენებენ object-ს.