ObjectBox 文档提供了一些如何使用继承的示例。然而,它给出了 Java 而不是 Kotlin 的例子。它提供的Kotlin 示例使用 Kotlin 数据类,据我了解,它不支持继承。是否可以在对象框中,如果可以,您可以举个例子吗?
1 回答
0
首先,如果可能并且在大多数情况下,继承不应与实体类一起使用。
如果一定要发生,可以通过使用常规 Kotlin 类与 Kotlin 数据类来镜像 Kotlin 中的 Java 示例。仅使用数据类没有限制。
例如这应该工作:
// Superclass:
@BaseEntity
abstract class Base {
@Id
var id: Long = 0
var baseString: String? = null
constructor()
constructor(id: Long, baseString: String?) {
this.id = id
this.baseString = baseString
}
}
// Subclass:
@Entity
class Sub : Base {
var subString: String? = null
constructor()
constructor(id: Long, baseString: String?, subString: String?) : super(id, baseString) {
this.subString = subString
}
}
于 2020-12-07T07:22:13.417 回答