Junior — Middle
Is het mogelijk om een interface als sealed te declareren in een programmeertaal?
sobes.tech AI
Antwoord van AI
In de programmeertaal Kotlin is het sinds versie 1.5 mogelijk om interfaces als sealed te declareren. Dit stelt je in staat om het aantal klassen dat deze interface kan implementeren te beperken, wat handig is voor controle en typeveiligheid.
Voorbeeld:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Op deze manier beperkt sealed interface de hiërarchie van implementaties, vergelijkbaar met sealed class. In Java bestaat deze mogelijkheid niet, omdat sealed alleen wordt toegepast op klassen en interfaces vanaf Java 15, maar met een andere syntax en beperkingen.