Kotlin 中的数据类非常适合消除 Java pojo 的大部分样板;但是当一个数据类镜像一个接口(interface)时,这两个声明仍然显得多余。举个例子。
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 接口(interface)中的每个 val
都应该由数据类中相同的 val
实现?
最佳答案
默认情况下,接口(interface)中的所有属性都是抽象的,因此它们必须由继承者实现(声明)。根据this links , 这个功能在 2015 年没有计划,现在看起来还没有实现。
关于interface - 带有接口(interface)样板的 Kotlin 数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488537/