Sobes.tech
Junior — Middle

Qu'est-ce qu'une classe scellée et quels sont ses principaux avantages et caractéristiques?

sobes.tech IA

Réponse de l'IA

Une classe scellée (sealed class) est un type spécial de classe en Kotlin (souvent utilisé dans le développement Android), qui limite la hiérarchie d'héritage. L'idée principale est que toutes les sous-classes d'une classe scellée doivent être déclarées dans le même fichier que la classe scellée.

Avantages et caractéristiques :

  • Permet au compilateur de connaître l'ensemble complet des sous-classes, ce qui améliore la sécurité et la commodité lors de l'utilisation des expressions when — le compilateur vérifiera que toutes les options sont traitées.
  • Facilite la modélisation de hiérarchies limitées, par exemple, d'états ou d'événements.
  • Interdit la création de nouvelles sous-classes en dehors du fichier, ce qui augmente le contrôle sur l'architecture.

Exemple :

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

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