Sobes.tech
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 open oder abstract sein.
  • 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.