Sobes.tech
Назад к вопросам
Junior — Middle
61

Можно ли определить наследование между классом данных и другим классом?

Компании, где спрашивали
IBS

Ответ от нейросети

sobes.tech AI

В Kotlin класс данных (data class) может наследовать другой класс, если он не является final (то есть открыт для наследования). Однако класс данных автоматически наследует от Any и должен иметь хотя бы один параметр в конструкторе.

Важно:

  • Класс данных не может быть open или abstract.
  • Наследование от класса данных возможно, но класс данных сам не может быть родителем (то есть нельзя наследоваться от data class).

Пример:

open class Person(val name: String)

data class Employee(val id: Int, val person: Person) : Person(person.name)

Таким образом, наследование между классом данных и другим классом возможно, но с ограничениями, и чаще используют композицию (вложение объектов) вместо наследования для классов данных.