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
}