我试图使用函数使用混入组合物,但是我有在obj
对象的apply
方法的错误:使用混入组合物与在阶函数
重写方法适用于(s: String)String
类型的trait t
;方法apply
需要abstract override
修饰符。
如何解决这个错误,哪个是正确的implement法?
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"))
}
}
这不回答这个问题 – Dima