Sobes.tech
Junior — Middle

Quels sont les avantages et les scénarios d'utilisation de la classe sealed en Kotlin ?

sobes.tech IA

Réponse de l'IA

La classe scellée en Kotlin est utilisée pour restreindre la hiérarchie d'héritage. Toutes les sous-classes d'une classe scellée doivent être déclarées dans le même fichier que la classe scellée elle-même. Cela permet au compilateur de connaître toutes les variantes possibles de descendants, ce qui est pratique pour une utilisation dans les expressions when sans avoir besoin d'écrire une branche else.

Avantages:

  • Sécurité de type : le compilateur vérifie l'exhaustivité du traitement de toutes les variantes.
  • Pratique pour modéliser des ensembles limités d'états ou d'événements.

Scénarios d'utilisation:

  • Implémentation d'états dans le motif "état".
  • Traitement d'événements ou de commandes.
  • Représentation d'un ensemble limité d'options, par exemple, des réponses API.

Exemple:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
    object Loading : Result()
}

fun handleResult(result: Result) {
    when(result) {
        is Result.Success -> println("Données : ${result.data}")
        is Result.Error -> println("Erreur : ${result.error.message}")
        Result.Loading -> println("Chargement...")
    }
}