Sobes.tech
Junior — Middle

Je možné v programovacom jazyku deklarovať rozhranie ako sealed?

sobes.tech AI

Odpoveď od AI

V jazyku Kotlin je od verzie 1.5 možne deklarovať rozhrania ako sealed. To umožňuje obmedziť množinu tried, ktoré môžu implementovať toto rozhranie, čo je užitočné pre kontrolu a bezpečnosť typov.

Príklad:

sealed interface Expr

class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr

Týmto spôsobom sealed interface obmedzuje hierarchiu implementácií, podobne ako sealed class. V Jave táto možnosť neexistuje, pretože sealed sa používa iba na triedy a rozhrania od Java 15, ale s inou syntaxou a obmedzeniami.