Sobes.tech
Junior

Qu'est-ce que l'expression 'object' en Kotlin et comment peut-elle être utilisée?

sobes.tech IA

Réponse de l'IA

object en Kotlin est utilisé pour créer des singletons, des objets anonymes et des objets compagnon.

Singletons :

Création d'une seule instance d'une classe :

object DatabaseManager {
    fun connect() {
        // Logique de connexion
    }
}

Utilisation :

DatabaseManager.connect()

Objets anonymes :

Création d'un objet "à la volée" qui peut implémenter des interfaces ou hériter d'une classe. Souvent utilisé pour les écouteurs d'événements.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Configuration du bouton avec le listener
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Bouton cliqué !")
        }
    })
}

Les objets anonymes ont accès aux variables du scope englobant si elles sont finales (ou effectivement finales en Kotlin).

Objets compagnon (companion object) :

L'équivalent des membres statiques en Java. Déclaré à l'intérieur d'une classe.

class MyClass {
    companion object {
        const val TAG = "MyClass"

        fun create(): MyClass {
            return MyClass()
        }
    }
}

Utilisation :

println(MyClass.TAG)
val instance = MyClass.create()

Les objets compagnon peuvent avoir des noms et même implémenter des interfaces.