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