Junior — Middle
Kann die Vererbung zwischen einer Datensatzklasse und einer anderen Klasse bestimmt werden?
sobes.tech KI
Antwort von AI
In Kotlin kann eine Datenklasse (data class) von einer anderen Klasse erben, wenn diese nicht final ist (also offen für Vererbung). Allerdings erbt die Datenklasse automatisch von Any und muss mindestens einen Parameter im Konstruktor haben.
Wichtig:
- Die Datenklasse kann nicht
openoderabstractsein. - Das Erben von einer Datenklasse ist möglich, aber die Datenklasse selbst kann nicht die Elternklasse sein (d.h., man kann nicht von einer data class erben).
Beispiel:
open class Person(val name: String)
data class Employee(val id: Int, val person: Person) : Person(person.name)
Daher ist die Vererbung zwischen einer Datenklasse und einer anderen Klasse möglich, aber mit Einschränkungen, und es wird häufiger die Komposition (Einbettung von Objekten) anstelle der Vererbung für Datenklassen verwendet.