Objets en Kotlin

Introduction aux Objets en Kotlin

En Kotlin, la création d'objets de classe repose sur deux types principaux : les expressions d'objet et les déclarations d'objet. Chacun de ces concepts a ses propres particularités et usages.

Expressions d'Objet

Une expression d'objet est une instruction qui génère un objet à partir d'une classe anonyme, c'est-à-dire une classe qui n'est pas déclarée de manière explicite. Ces classes sont idéales pour une utilisation unique.

Syntaxe des Expressions d'Objet
Voici un exemple d'expression d'objet :

fun main() {
    val myObject = object {
        val valueOne = 1
        val valueTwo = 2
        fun sum() {
            val result = valueOne + valueTwo
            println("La somme est : $result")
        }
    }
    myObject.sum()
}

Ce script crée un objet qui contient deux valeurs et une fonction, puis appelle cette fonction pour afficher la somme au console.

Exemple d'Expression d'Objet :

fun main() {
    val myAnonymousObject = object {
        val name = "Princesse"
        val color = "rose"
        fun presentation() {
            println("Bonjour, je suis $name, et j'aime $color.")
        }
    }
    myAnonymousObject.presentation()
}

Cet exemple illustre un objet sans déclaration de classe explicite, produisant la sortie suivante :
Bonjour, je suis Princesse, et j'aime rose.

Déclarations d'Objet

Les déclarations d'objet permettent de créer une unique instance d'une classe, communément appelée Singleton.

Syntaxe des Déclarations d'Objet

object MyObject {
    val property: Type = value
    fun myFunction() {
        // Implémentation de la fonction
    }
}

// Utilisation de l'objet
MyObject.property
MyObject.myFunction()

La déclaration d'objet associe la définition de la classe à la création de son instance, sous une forme concise et efficace.

Voici un exemple illustrant cela :

object HelloKitty {
    fun sayHello(name: String) {
        println("Salut, $name!")
    }
}

fun main() {
    HelloKitty.sayHello("Liany<3")
}

Dans cet exemple, on constate un objet appelé HelloKitty, qui contient une méthode sayHello. Cette méthode prend un paramètre de type String et affiche le message Salut, name! à la console. La sortie affichée sera :
Salut, Liany<3!