Sobes.tech
Назад к вопросам
Junior — Middle
90

Является ли возможным объявить интерфейс как sealed в языке программирования?

Ответ от нейросети

sobes.tech AI

В языке Kotlin с версии 1.5 появилась возможность объявлять интерфейсы как sealed. Это позволяет ограничить набор классов, которые могут реализовывать этот интерфейс, что полезно для контроля и безопасности типов.

Пример:

sealed interface Expr

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

Таким образом, sealed interface ограничивает иерархию реализаций, аналогично sealed class. В Java такой возможности нет, там sealed применяется только к классам и интерфейсам начиная с Java 15, но с другим синтаксисом и ограничениями.