Sobes.tech
Junior — Middle

Czy możliwe jest zadeklarowanie interfejsu jako sealed w języku programowania?

sobes.tech AI

Odpowiedź od AI

W języku Kotlin od wersji 1.5 pojawiła się możliwość deklarowania interfejsów jako sealed. Pozwala to ograniczyć zestaw klas, które mogą implementować ten interfejs, co jest przydatne dla kontroli i bezpieczeństwa typów.

Przykład:

sealed interface Expr

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

W ten sposób sealed interface ogranicza hierarchię implementacji, podobnie jak sealed class. W Javie taka możliwość nie istnieje, ponieważ sealed jest stosowane tylko do klas i interfejsów od Java 15, ale z inną składnią i ograniczeniami.