Junior — Middle
Quelle est la finalité d'une classe déclarée avec le modificateur sealed?
sobes.tech IA
Réponse de l'IA
Une classe déclarée avec le modificateur sealed est conçue pour limiter l'héritage. Une telle classe peut avoir des sous-classes, mais uniquement celles déclarées dans le même fichier. Cela permet de contrôler et de fixer la hiérarchie d'héritage, la rendant plus prévisible et sûre.
Par exemple, en Kotlin, les classes sealed sont souvent utilisées pour représenter un ensemble limité d'états ou de variantes, ce qui est pratique lors de l'utilisation d'expressions when, où le compilateur peut vérifier l'exhaustivité du traitement de toutes les variantes.
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}")
}
}