Sobes.tech
Junior

O que é a expressão 'object' em Kotlin e como pode ser usada?

sobes.tech IA

Resposta da IA

object em Kotlin é usado para criar singletons, objetos anónimos e objetos companheiros.

Singletons:

Criação de uma única instância de uma classe:

object DatabaseManager {
    fun connect() {
        // Lógica de conexão
    }
}

Uso:

DatabaseManager.connect()

Objetos anónimos:

Criação de um objeto "em tempo de execução" que pode implementar interfaces ou herdar de classes. Frequentemente usado para ouvintes de eventos.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Configuração do botão com o listener
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Botão clicado!")
        }
    })
}

Objetos anónimos têm acesso às variáveis do escopo envolvente se forem finais (ou efetivamente finais em Kotlin).

Objetos companheiros (companion object):

Análogo aos membros estáticos em Java. Declarado dentro de uma classe.

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

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

Uso:

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

Objetos companheiros podem ter nomes e até implementar interfaces.