【发布时间】:2016-10-04 02:01:06
【问题描述】:
我正在尝试使用函数来使用 mixin 组合,但在 obj 对象的 apply 方法中出现错误:
覆盖方法适用于trait t 类型的(s: String)String;方法 apply 需要 abstract override 修饰符。
如何解决这个错误,哪个是正确的实现方式?
trait t extends Function1[String,String] {
abstract override def apply(s: String): String = {
super.apply(s)
println("Advice" + s)
s
}
}
object MixinComp {
def main(args: Array[String]) {
val obj = new Function1[String, String] with t {
override def apply(s: String) = s
}
println(obj.apply("Hi"))
}
}
【问题讨论】: