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