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