Junior — Middle
Est-il possible de déclarer une interface comme sealed dans un langage de programmation?
sobes.tech IA
Réponse de l'IA
Dans le langage Kotlin, depuis la version 1.5, il est possible de déclarer des interfaces comme sealed. Cela permet de limiter le nombre de classes pouvant implémenter cette interface, ce qui est utile pour le contrôle et la sécurité des types.
Exemple :
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Ainsi, sealed interface limite la hiérarchie des implémentations, de manière similaire à sealed class. En Java, cette possibilité n'existe pas, car sealed ne s'applique qu'aux classes et interfaces à partir de Java 15, mais avec une syntaxe et des restrictions différentes.