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