Sobes.tech
Junior

Co je to companion object v Kotlinu?

sobes.tech AI

Odpověď od AI

Objekt spojený s třídou, obsahující statické členy (vlastnosti a funkce). Přístupný podle jména třídy.

class MyClass {

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

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

// Přístup ke členům companion object
val instance = MyClass.create()
val className = MyClass.TAG

Hlavní použití:

  • Tovární metody.
  • Konstanty.
  • Statické užitečné funkce.

Klíčové slovo companion lze vynechat, pak se objekt nazývá Companion, což je však vzácné. Může mít jiné jméno než Companion. Implementuje rozhraní.