Sobes.tech
Junior

¿Qué es un objeto companion en Kotlin?

sobes.tech AI

Respuesta de la IA

Objeto asociado a una clase que contiene miembros estáticos (propiedades y funciones). Se accede por el nombre de la clase.

class MyClass {

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

        // Función estática
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Acceso a los miembros del companion object
val instance = MyClass.create()
val className = MyClass.TAG

Usos principales:

  • Métodos de fábrica.
  • Constantes.
  • Funciones utilitarias estáticas.

Se puede omitir la palabra clave companion, entonces el objeto se llamará Companion, pero esto se usa raramente. Puede tener un nombre diferente a Companion. Implementa interfaces.