Расширить класс данных в Котлине

Классы данных, кажется, являются заменой старомодным POJO в Java. Вполне ожидаемо, что эти классы позволят наследовать, но я не вижу удобного способа расширить класс данных. Что мне нужно, это что-то вроде этого:

open data class Resource (var id: Long = 0, var location: String = "")
data class Book (var isbn: String) : Resource()

Код выше не работает из-за столкновенияcomponent1() методы. уходdata аннотация только в одном из классов тоже не работает.

Возможно, есть другая идиома для расширения классов данных?

UPD: я могу аннотировать только дочерний дочерний класс, ноdata аннотация обрабатывает только свойства, объявленные в конструкторе. То есть я должен был бы объявить все родительские свойстваopen и переопределить их, что некрасиво

open class Resource (open var id: Long = 0, open var location: String = "")
data class Book (
    override var id: Long = 0,
    override var location: String = "",
    var isbn: String
) : Resource()

Ответы на вопрос(5)

Ваш ответ на вопрос