数据类似乎是Java中旧式POJO的替代品.很可能这些类允许继承,但我看不到扩展数据类的方便方法.我需要的是这样的:
open data class Resource (var id: Long = 0, var location: String = "")
data class Book (var isbn: String) : Resource()
Run Code Online (Sandbox Code Playgroud)
由于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()
Run Code Online (Sandbox Code Playgroud) 我需要从数据类 B 继承数据类 A。我知道这在Kotlin 中是不可行的。
问题1:
为什么这不可行?
问题2:有
什么办法可以解决这个问题?
例子:
data class A(val data1 : String)
data class B(val data2 : String) : A()
Run Code Online (Sandbox Code Playgroud)
我如何在 Kotlin 中实现这一目标?