Sobes.tech
Middle

O que são 'expressões de objetos' e 'declarações de objetos' em Kotlin?

sobes.tech IA

Resposta da IA

As expressões de objetos (objetos anónimos) são usadas para criar objetos de classes anónimas. São úteis para implementar interfaces de uso único ou herdar de classes numa única instância. Sintaxe object : <tipo(s)>.

As declarações de objetos (declarações de objetos) criam um singleton. É uma classe com uma única instância, acessível globalmente pelo seu nome. Sintaxe object <nome>.

Tabela comparativa:

Característica Expressões de objetos Declarações de objetos
Propósito Criar um objeto anónimo Criar um singleton
Uso Local, dentro de expressões ou funções Acessível publicamente, pelo nome do objeto
Criação de instâncias Em cada uso da expressão Uma instância na primeira acessibilidade
Nomeação Anónimo Nomeado
Aplicação Listeners de eventos de uso único, adaptadores Utilitários, configurações, armazenamento de estado

Exemplo de expressão de objeto:

// Criar um manipulador de clique "ao vivo"
button.setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View?) {
        // Ação ao clicar
    }
})

Exemplo de declaração de objeto:

// Declaração de um objeto singleton para logging
object Logger {
    fun log(message: String) {
        println(message)
    }
}

// Uso do singleton
fun processData(data: String) {
    Logger.log("Processando dados...")
    // Processamento de dados
}