Tag: 性状

在Kotlin中使用数据类的特征?

我有两个模型对象/ DTO定义为数据类 public data class ModelA(val limit: Int, val offset: Int, val someDataA: DataAlpha) public data class ModelB(val limit: Int, val offset: Int, val someDataB: DataBeta) 我想概括分页的基础上像Paginable特质: trait Paginable { var limit: Int var offset: Int } 但是让ModelA实现Paginable会导致一个错误: 错误:“偏移量”隐藏超类型“可分页”的成员,并需要“覆盖”修饰符 添加覆盖 : public data class ModelB(override val limit: Int, override val offset: Int, val someDataB: DataBeta) […]

Kotlin:超类不能从特质中获得

在Kotlin,给一些类: public open class A { open fun sayHi() = "hi" } 而一个特征T需要子类来扩展A: public trait T : A { override fun sayHi() = super.sayHi() + " John" } 人们会希望T.sayHi能够调用super.sayHi()或更明确的super<A>.sayHi() ,因为所有的类型信息都在那里,但是相反,它产生的Superclass is not accessible from trait 。 题: [我怎么能]从特质中重写一些方法? 笔记: 当然,没有压倒一切,我可以这样做: public trait T : A { fun another() = sayHi() + " John" } 但是我希望我的特质能够“拦截/处于中间”。 […]