Junior — Middle
Kas on võimalik deklareerida liidest kui sealed programmeerimiskeeles?
sobes.tech AI
Vastus AI-lt
Kotlin keeles alates versioonist 1.5 on võimalik deklareerida liideseid kui sealed. See võimaldab piirata nende liideste rakendavate klasside arvu, mis on kasulik tüübi kontrolli ja turvalisuse jaoks.
Näide:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Seega piirab sealed interface rakenduste hierarhiat, sarnaselt sealed class-ile. Java-s sellist võimalust ei ole, kuna sealed kehtib ainult klassidele ja liidesele alates Java 15, kuid teise süntaksi ja piirangutega.