Sobes.tech
Junior — Middle

Vai ir iespējams paziņot saskarni kā sealed programmēšanas valodā?

sobes.tech AI

Atbilde no AI

Kotlin valodā, no versijas 1.5, ir iespējams deklarēt saskarnes kā sealed. Tas ļauj ierobežot klases skaitu, kas var īstenot šo saskarni, kas ir noderīgi tipu kontrolei un drošībai.

Piemērs:

sealed interface Expr

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

Tādējādi, sealed interface ierobežo īstenošanas hierarhiju, līdzīgi kā sealed class. Java šādas iespējas nav, jo sealed tiek piemērots tikai klasēm un saskarnēm no Java 15, bet ar citu sintaksi un ierobežojumiem.