Qual é a diferença entre object e companion object em Kotlin? Exemplos
Olá a todos! Comecei a estudar Kotlin e não consigo entender a diferença entre um object comum dentro de uma classe e um companion object.
Suponha que eu escreva uma classe simples para trabalhar com um banco de dados:
```kotlin
class DatabaseManager {
object Config {
val HOST = "localhost"
val PORT = 5432
}
companion object {
fun create(): DatabaseManager = DatabaseManager()
}
}
```
Vejo que ambas as opções criam algo semelhante a membros estáticos do Java. Mas por que então dois mecanismos diferentes? Quando devo usar object e quando companion object?
Talvez haja algumas nuances com herança, serialização ou acesso a partir do Java? Ficarei grato por uma explicação detalhada com exemplos.
<<>>
Diferença chave: object é um singleton, companion object é um membro estático da classe
Em Kotlin, object e companion object resolvem tarefas diferentes, embora à primeira vista pareçam semelhantes. Vamos analisar cada caso.
No answers yet.
Faça login para deixar uma resposta