Junior — Middle
Warum ist die Vererbung von data class in Kotlin verboten?
sobes.tech KI
Antwort von AI
In Kotlin ist die Vererbung von data class verboten, weil data class automatisch Methoden wie equals(), hashCode(), toString(), sowie copy() und Komponenten für Destrukturierung generiert. Das Erlauben der Vererbung könnte zu Mehrdeutigkeiten und Fehlern im Verhalten dieser Methoden führen, da eine Unterklasse den Zustand oder die Logik ändern kann, was den in data class festgelegten Vertrag verletzt.
Daher stellt das Verbot der Vererbung die Integrität und Vorhersehbarkeit des Verhaltens von data class sicher.
Beispiel:
data class User(val name: String, val age: Int)
// class AdminUser(name: String, age: Int, val adminLevel: Int) : User(name, age) // Kompilierungsfehler