Sobes.tech
Junior — Middle

¿Es posible declarar una interfaz como sealed en un lenguaje de programación?

sobes.tech AI

Respuesta de la IA

En el lenguaje Kotlin, desde la versión 1.5, se ha añadido la posibilidad de declarar interfaces como sealed. Esto permite limitar el conjunto de clases que pueden implementar esa interfaz, lo cual es útil para el control y la seguridad de tipos.

Ejemplo:

sealed interface Expr

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

De esta manera, sealed interface limita la jerarquía de implementaciones, de manera similar a sealed class. En Java, no existe esta posibilidad, ya que sealed solo se aplica a clases e interfaces a partir de Java 15, pero con una sintaxis y restricciones diferentes.