0

ObjectBox 文档提供了一些如何使用继承的示例。然而,它给出了 Java 而不是 Kotlin 的例子。它提供的Kotlin 示例使用 Kotlin 数据类,据我了解,它不支持继承。是否可以在对象框中,如果可以,您可以举个例子吗?

4

1 回答 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 回答