我有一類來源,我不能修改:斯卡拉特質組成問題
class Foo {
def bar() = println("bar")
}
而且我想在運行時混入它的性狀
trait Zee { this: Foo =>
abstract override def bar() = {
println("before bar")
super.bar()
}
}
這是扔是bar is not a member of Object with ScalaObject
我在做什麼錯了?是否可以在不修改Foo
源代碼的情況下實現此目的?
最終客戶端代碼需要看起來像這樣:
val foo = new Foo with Zee
foo.bar() // should print 'before bar' and then 'bar'