Junior — Middle
Wie implementiert man die Vererbung von einer als sealed deklarierten Klasse?
sobes.tech KI
Antwort von AI
In Kotlin beschränkt eine als sealed deklarierte Klasse die Vererbung nur innerhalb derselben Datei, in der sie deklariert ist. Das bedeutet, dass von einer sealed-Klasse nur in derselben Datei geerbt werden kann, in der sie definiert ist.
Wenn eine Klasse als sealed deklariert ist und sich in einer anderen Datei befindet, kann man nicht von ihr erben.
Um die Vererbung einer sealed-Klasse zu implementieren, muss man:
- In derselben Datei sein, in der die
sealed-Klasse deklariert ist. - Die Unterklassen innerhalb dieser Datei deklarieren.
Beispiel:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Wenn Erweiterbarkeit außerhalb der Datei erforderlich ist, ist sealed nicht geeignet, stattdessen sollte eine normale offene Klasse oder Schnittstelle verwendet werden.