Sobes.tech
Junior

O que é um objeto companion em Kotlin?

sobes.tech IA

Resposta da IA

Objeto associado a uma classe, contendo membros estáticos (propriedades e funções). Acessível pelo nome da classe.

class MyClass {

    companion object {
        // Propriedade estática
        const val TAG = "MyClass"

        // Função estática
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Acesso aos membros do companion object
val instance = MyClass.create()
val className = MyClass.TAG

Principais aplicações:

  • Métodos de fábrica.
  • Constantes.
  • Funções utilitárias estáticas.

Pode-se omitir a palavra-chave companion, então o objeto será chamado de Companion, mas isso é raramente usado. Pode ter um nome diferente de Companion. Implementa interfaces.