Junior — Middle
Este posibil să declarați o interfață ca sealed într-un limbaj de programare?
sobes.tech AI
Răspuns de la AI
În limbajul Kotlin, începând cu versiunea 1.5, a fost introdusă posibilitatea de a declara interfețe ca sealed. Acest lucru permite limitarea setului de clase care pot implementa această interfață, ceea ce este util pentru controlul și siguranța tipurilor.
Exemplu:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Astfel, sealed interface limitează ierarhia de implementări, similar cu sealed class. În Java, această posibilitate nu există, deoarece sealed se aplică doar claselor și interfețelor începând cu Java 15, dar cu o sintaxă și restricții diferite.