Quelle est la signification voulue de «objet compagnon»? Jusqu'à présent, je ne l'ai utilisé que pour remplacer Java static
lorsque j'en ai besoin.
Je suis confondu avec:
- Pourquoi s'appelle-t-il "compagnon"?
- Cela signifie-t-il que pour créer plusieurs propriétés statiques , je dois les regrouper dans un
companion object
bloc? - Pour créer instantanément une instance de singleton étendue à une classe, j'écris souvent
:
companion object {
val singleton by lazy { ... }
}
ce qui semble être une manière unidiomatique de le faire. Quelle est la meilleure façon?