Sobes.tech
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 sealed est 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.