English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Objet compagnon en Kotlin

Dans cet article, vous apprendrez à créer et utiliser des objets compagnons dans un programme Kotlin à l'aide d'exemples.

Avant de discuter des objets compagnons, regardons un exemple pour accéder aux membres de la classe.

class Person {
    fun callMe() = println("I'm called.")
{}
fun main(args: Array<String>) {
    val p1 = Person()
    
    //Utilisation de l'objet p1Appel de la méthode callMe()
    p1.callMe()    
{}

Dans ce qui suit, nous avons créé un objet de la classe Person p1 pour appeler la méthode callMe ()

Mais, en Kotlin, vous pouvez également appeler la méthode callMe () en utilisant le nom de la classe (c'est-à-dire Person dans cet exemple) pour appeler la méthode. Pour cela, vous devez utiliser le mot-clé companion pour marquerDéclaration d'objetDéclaration d'objet pour créer un objet compagnon.

Exemple : objet compagnon

class Person {
    companion object Test {
        fun callMe() = println("I'm called.")
    {}
{}
fun main(args: Array<String>) {
    Person.callMe()
{}

Lors de l'exécution de ce programme, la sortie est :

Je suis appelé.

Dans le programme, l'objet Test est déclaré avec le mot-clé companion pour créer un objet compagnon. Par conséquent, vous pouvez appeler la méthode callMe() en utilisant le nom de la classe suivante :

Person.callMe()

Le nom de l'objet compagnon est optionnel et peut être omis.

class Person {
    
    //Le nom de l'objet compagnon a été omis
    companion object {
        fun callMe() = println("I'm called.")
    {}
{}
fun main(args: Array<String>) {
    Person.callMe()
{}

Si vous êtes familier avec Java, vous pourriez associer les objets compagnon aux méthodes statiques (même si leur fonctionnement interne est complètement différent)

Les objets compagnon peuvent accéder aux membres privés de la classe. Par conséquent, ils peuvent être utilisés pour implémenter le modèle de pattern de méthode d'usine.