Sobes.tech
Junior

Какво е companion object в Kotlin?

sobes.tech AI

Отговор от AI

Обект, свързан с клас, съдържащ статични членове (свойства и функции). Достъпен по име на класа.

class MyClass {

    companion object {
        // Статично свойство
        const val TAG = "MyClass"

        // Статична функция
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Достъп до членове на companion object
val instance = MyClass.create()
val className = MyClass.TAG

Основни приложения:

  • Фабрични методи.
  • Константи.
  • Статични помощни функции.

Може да се пропусне ключовата дума companion, тогава обектът ще се нарича Companion, но това рядко се използва. Може да има име, различно от Companion. Реализира интерфейси.