Interface 带有接口样板的Kotlin数据类
Kotlin中的数据类对于消除Java pojo的大部分样板文件非常有用;但当数据类镜像接口时,这两个声明仍然显得多余。就拿这个例子来说Interface 带有接口样板的Kotlin数据类,interface,kotlin,boilerplate,data-class,Interface,Kotlin,Boilerplate,Data Class,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 va
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
实现?默认情况下,接口中的所有属性都是抽象的,因此必须由继承者实现(声明)。据了解,这项功能在2015年还没有计划好,而且看起来还没有实现。那么首先创建界面有什么意义呢。只使用数据类而不使用接口。我是否遗漏了什么?我想将数据类用作委托。您是否尝试过对接口方法使用默认实现?它们的使用是有限的,但对于您的情况来说可能已经足够了。@jaco0646您可能希望向我们展示您试图通过代理完成的任务。尽管现在没有简捷的方法来消除这种冗余,但至少可以改善授权。