Junior — Middle
Comment implémenter l'héritage d'une classe déclarée comme sealed?
sobes.tech IA
Réponse de l'IA
En Kotlin, une classe déclarée comme sealed limite l'héritage uniquement au sein du même fichier où elle est déclarée. Cela signifie que l'héritage d'une classe scellée ne peut se faire que dans le même fichier où elle est définie.
Si une classe est déclarée comme sealed et se trouve dans un autre fichier, il n'est pas possible d'en hériter.
Ainsi, pour implémenter l'héritage d'une classe sealed, il faut:
- Être dans le même fichier où la classe
sealedest déclarée. - Déclarer les sous-classes dans ce fichier.
Exemple:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Si une extensibilité en dehors du fichier est requise, la classe sealed n'est pas adaptée, il faut utiliser une classe ouverte normale ou une interface.