Junior — Middle
É possível declarar uma interface como sealed numa linguagem de programação?
sobes.tech IA
Resposta da IA
Na linguagem Kotlin, desde a versão 1.5, surgiu a possibilidade de declarar interfaces como sealed. Isso permite limitar o conjunto de classes que podem implementar essa interface, o que é útil para controle e segurança de tipos.
Exemplo:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Assim, sealed interface limita a hierarquia de implementações, de forma semelhante a sealed class. Em Java, essa possibilidade não existe, pois sealed é aplicado apenas a classes e interfaces a partir do Java 15, mas com uma sintaxe e restrições diferentes.