sealed class vs. sealed interface: Wann welche Variante verwendet wird
Verstehen Sie den Unterschied zwischen Sealed Classes und Sealed Interfaces in Kotlin.
sealed class vs. sealed interface: Wann welche Variante verwendet wird ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Sealed-Typen in Kotlin
Grundlagen von sealed class
sealed class Shape
class Circle(val radius: Double) : Shape()
class Rectangle(val w: Double, val h: Double) : Shape()
object Unknown : Shape()sealed interface: Mehr Flexibilität
sealed interface Result<out T>
data class Success<T>(val value: T) : Result<T>
data class Error(val ex: Exception) : Result<Nothing>Wichtige Unterschiede
// sealed class subtype extends another class:
sealed interface Command
class MoveCommand(val dx: Int, val dy: Int) : Command, Serializable
class ResizeCommand(val scale: Double) : Command, CloneableVollständiges when: Kein else erforderlich
fun area(shape: Shape): Double = when (shape) {
is Circle -> Math.PI * shape.radius * shape.radius
is Rectangle -> shape.w * shape.h
} // no 'else' — compiler guarantees completenessDas Hinzufügen eines Subtyps macht vorhandene when-Ausdrücke ungültig
// Add Triangle to Shape:
class Triangle(val base: Double, val height: Double) : Shape()
// Now the area() function above won't compile until
// a Triangle branch is added — safety net!Sealed classes mit gemeinsamen Eigenschaften
sealed class NetworkResult {
abstract val timestamp: Long
}
data class SuccessResult(val data: String, override val timestamp: Long) : NetworkResult()
data class FailureResult(val error: String, override val timestamp: Long) : NetworkResult()Verschachtelte sealed-Typen
sealed interface UiState
object Loading : UiState
sealed interface Loaded : UiState
data class Content(val items: List<String>) : Loaded
data class Empty(val hint: String) : Loaded
data class Failure(val error: String) : UiStateobject-Subtypen für Varianten ohne Zustand
sealed class Direction
object North : Direction()
object South : Direction()
object East : Direction()
object West : Direction()
fun move(d: Direction) = when (d) {
North -> y++
South -> y--
East -> x++
West -> x--
}sealed + data class + object zusammen verwenden
sealed class LoadState
object Idle : LoadState()
object Loading : LoadState()
data class Success(val count: Int) : LoadState()
data class Error(val msg: String) : LoadState()Wann sealed class und wann interface?
Kurztest
Zusammenfassung
Häufig gestellte Fragen
Ist die Lektion „sealed class vs. sealed interface: Wann welche Variante verwendet wird“ kostenlos?
Ja — der vollständige Text von „sealed class vs. sealed interface: Wann welche Variante verwendet wird“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „sealed class vs. sealed interface: Wann welche Variante verwendet wird“?
Verstehen Sie den Unterschied zwischen Sealed Classes und Sealed Interfaces in Kotlin. Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kotlin Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „sealed class vs. sealed interface: Wann welche Variante verwendet wird“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- sealed class vs. sealed interface: Wann welche Variante verwendet wird
- Vollständige when-Ausdrücke mit Sealed Hierarchies
- UI-Zustände mit Sealed Classes modellieren
- Sealed Hierarchies verschachteln und kombinieren