相关疑难解决方法(0)

扩展Kotlin中的数据类

数据类似乎是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)

inheritance android abstract kotlin data-class

141
推荐指数
7
解决办法
5万
查看次数

为什么Kotlin修饰符'open'与'data'不兼容?

我上课了

open data class Person(var name: String)
Run Code Online (Sandbox Code Playgroud)

和另一堂课

data class Student(var reg: String) : Person("")
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误

错误:修饰符'open'与'data'不兼容

如果我从Person类中删除数据的罚款.

为什么kotlin打开和数据不兼容?

inheritance class kotlin

7
推荐指数
2
解决办法
1108
查看次数

标签 统计

inheritance ×2

kotlin ×2

abstract ×1

android ×1

class ×1

data-class ×1