2

Kotlin 中的数据类非常适合消除 Java pojo 的大部分样板;但是当一个数据类镜像一个接口时,这两个声明仍然显得多余。举这个例子。

interface MyInterface {
    val foo: String
    val bar: String
    val baz: String
    val qux: String
}

data class MyImplementation(
    override val foo: String,
    override val bar: String,
    override val baz: String,
    override val qux: String
) : MyInterface

是否有任何简写来消除这种代码重复,即告诉 Kotlinval接口中的每个都应该由val数据类中的相同实现?

4

1 回答 1

2

默认情况下,接口中的所有属性都是抽象的,因此它们必须由继承者实现(声明)。根据 这个链接,这个功能在 2015 年没有计划,而且看起来还没有实现。

于 2018-07-24T07:51:02.163 回答