Sobes.tech
Junior

Czym jest obiekt companion w Kotlin?

sobes.tech AI

Odpowiedź od AI

Obiekt powiązany z klasą, zawierający statyczne człony (właściwości i funkcje). Dostępny po nazwie klasy.

class MyClass {

    companion object {
        // Statyczna właściwość
        const val TAG = "MyClass"

        // Statyczna funkcja
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Dostęp do członków obiektu towarzyszącego
val instance = MyClass.create()
val className = MyClass.TAG

Główne zastosowania:

  • Metody fabryczne.
  • Stałe.
  • Statyczne funkcje pomocnicze.

Można pominąć słowo kluczowe companion, wtedy obiekt będzie nazywał się Companion, ale jest to rzadko używane. Może mieć inną nazwę niż Companion. Implementuje interfejsy.