【发布时间】:2018-07-23 23:39:26
【问题描述】:
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
有没有什么简写方式可以消除这种重复代码,即告诉 Kotlin 接口中的每个val 都应该由数据类中相同的val 实现?
【问题讨论】:
-
那么首先创建界面的意义何在。只使用没有接口的数据类。我在这里错过了什么吗?
-
我想使用数据类作为委托。
-
您是否尝试过为您的接口方法使用默认实现?它们的使用是有限的,但对于您的情况来说可能已经足够了。
-
@jaco0646 您可能想向我们展示您想要与代表一起完成的工作。尽管现在没有消除这种冗余的捷径,但至少可以改进委派。
标签: interface kotlin boilerplate data-class