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