Junior — Middle
Ist es möglich, eine Schnittstelle in einer Programmiersprache als sealed zu deklarieren?
sobes.tech KI
Antwort von AI
In der Programmiersprache Kotlin ist es seit Version 1.5 möglich, Schnittstellen als sealed zu deklarieren. Dies ermöglicht es, die Menge der Klassen, die diese Schnittstelle implementieren können, einzuschränken, was nützlich für Kontrolle und Typsicherheit ist.
Beispiel:
sealed interface Expr
class Const(val number: Double) : Expr
class Sum(val e1: Expr, val e2: Expr) : Expr
Auf diese Weise beschränkt sealed interface die Hierarchie der Implementierungen, ähnlich wie sealed class. In Java gibt es diese Möglichkeit nicht, da sealed nur für Klassen und Schnittstellen ab Java 15 gilt, jedoch mit einer anderen Syntax und Einschränkungen.