Middle
Qu'est-ce que les 'expressions d'objet' et les 'déclarations d'objet' en Kotlin?
sobes.tech IA
Réponse de l'IA
Les expressions d'objets (objets anonymes) sont utilisées pour créer des objets de classes anonymes. Elles sont utiles pour implémenter des interfaces à usage unique ou hériter de classes en une seule instance. Syntaxe object : <type(s)>.
Les déclarations d'objets créent un singleton. C'est une classe avec une seule instance, accessible globalement par son nom. Syntaxe object <nom>.
Tableau comparatif :
| Caractéristique | Expressions d'objets | Déclarations d'objets |
|---|---|---|
| But | Créer un objet anonyme | Créer un singleton |
| Utilisation | Locale, dans des expressions ou fonctions | Accessible publiquement, par nom d'objet |
| Création d'instances | À chaque utilisation de l'expression | Une seule instance lors du premier accès |
| Nomination | Anonyme | Nommé |
| Application | Écouteurs d'événements à usage unique, adaptateurs | Utilitaires, configurations, stockage d'état |
Exemple d'expression d'objet :
// Création d'un gestionnaire de clic "à la volée"
button.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
// Action lors du clic
}
})
Exemple de déclaration d'objet :
// Déclaration d'un singleton pour la journalisation
object Logger {
fun log(message: String) {
println(message)
}
}
// Utilisation du singleton
fun processData(data: String) {
Logger.log("Traitement des données...")
// Traitement des données
}