Sobes.tech
Junior

Čo je to companion object v Kotlin?

sobes.tech AI

Odpoveď od AI

Objekt spojený s triedou, ktorý obsahuje statické členy (vlastnosti a funkcie). Prístupný podľa mena triedy.

class MyClass {

    companion object {
        // Statická vlastnosť
        const val TAG = "MyClass"

        // Statická funkcia
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Prístup k členom companion object
val instance = MyClass.create()
val className = MyClass.TAG

Hlavné použitia:

  • Fabrikové metódy.
  • Konštanty.
  • Statické pomocné funkcie.

Kľúčové slovo companion je možné vynechať, v takom prípade sa objekt nazve Companion, čo je však zriedkavé. Môže mať iné meno ako Companion. Implementuje rozhrania.