Junior — Middle
Ar įmanoma programavimo kalboje paskelbti sąsają kaip sealed?
sobes.tech AI
Atsakymas iš AI
Kotlin kalboje nuo versijos 1.5 galima deklaruoti sąsajas kaip sealed. Tai leidžia apriboti klasių, kurios gali įgyvendinti šią sąsają, skaičių, kas yra naudinga tipų kontrolės ir saugumo tikslais.
Pavyzdys:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Taip sealed interface riboja įgyvendinimų hierarchiją, panašiai kaip sealed class. Java to padaryti negalima, nes sealed taikomas tik klasėms ir sąsajoms nuo Java 15, bet su kita sintakse ir apribojimais.