Junior — Middle
Lehetséges-e egy interfészt sealed-ként deklarálni egy programozási nyelvben?
sobes.tech MI
Válasz az MI-től
A Kotlin nyelvben, az 1.5-ös verziótól kezdve, lehetőség van sealed interfészek deklarálására. Ez lehetővé teszi az olyan osztályok halmazának korlátozását, amelyek ezt az interfészt megvalósíthatják, ami hasznos a típusok ellenőrzése és biztonsága szempontjából.
Példa:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Így a sealed interface korlátozza a megvalósítások hierarchiáját, hasonlóan a sealed class-hoz. Java-ban nincs ilyen lehetőség, mivel a sealed csak osztályokra és interfészekre vonatkozik a Java 15-től kezdve, de más szintaxissal és korlátozásokkal.