Sobes.tech
Junior

¿Qué es la expresión 'object' en Kotlin y cómo se puede usar?

sobes.tech AI

Respuesta de la IA

object en Kotlin se utiliza para crear singletons, objetos anónimos y objetos companion.

Singletons:

Creación de una única instancia de una clase:

object DatabaseManager {
    fun connect() {
        // Lógica de conexión
    }
}

Uso:

DatabaseManager.connect()

Objetos anónimos:

Creación de un objeto "en tiempo de ejecución" que puede implementar interfaces o heredar de clases. Se usa frecuentemente para oyentes de eventos.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Configuración del botón con el listener
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("¡Botón pulsado!")
        }
    })
}

Los objetos anónimos tienen acceso a variables del scope envolvente si son finales (o efectivamente finales en Kotlin).

Objetos companion (companion object):

Análogo a los miembros estáticos en Java. Se declara dentro de una clase.

class MyClass {
    companion object {
        const val TAG = "MyClass"

        fun create(): MyClass {
            return MyClass()
        }
    }
}

Uso:

println(MyClass.TAG)
val instance = MyClass.create()

Los objetos companion pueden tener nombres e incluso implementar interfaces.