Kotlin - Classe scellée

Dans ce chapitre, nous allons découvrir un autre type de classe appelé classe «Sealed». Ce type de classe est utilisé pour représenter une hiérarchie de classes restreinte. Sealed permet aux développeurs de conserver un type de données d'un type prédéfini. Pour créer une classe scellée, nous devons utiliser le mot-clé «scellé» comme modificateur de cette classe. Une classe scellée peut avoir sa propre sous-classe mais toutes ces sous-classes doivent être déclarées dans le même fichier Kotlin avec la classe scellée. Dans l'exemple suivant, nous verrons comment utiliser une classe scellée.

sealed class MyExample {
   class OP1 : MyExample() // MyExmaple class can be of two types only
   class OP2 : MyExample()
}
fun main(args: Array<String>) {
   val obj: MyExample = MyExample.OP2() 
   
   val output = when (obj) { // defining the object of the class depending on the inuputs 
      is MyExample.OP1 -> "Option One has been chosen"
      is MyExample.OP2 -> "option Two has been chosen"
   }
   
   println(output)
}

Dans l'exemple ci-dessus, nous avons une classe scellée nommée "MyExample", qui peut être de deux types seulement - l'un est "OP1" et l'autre est "OP2". Dans la classe principale, nous créons un objet dans notre classe et assignons son type au moment de l'exécution. Maintenant, comme cette classe «MyExample» est scellée, nous pouvons appliquer la clause «when» lors de l'exécution pour implémenter la sortie finale.

En classe scellée, nous n'avons pas besoin d'utiliser une instruction «else» inutile pour complexifier le code. Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur.

option Two has been chosen