8
我想用stackable trait pattern與單對象,但我似乎無法找到如何使編譯器高興:可堆疊特質模式可以與單身物件一起使用嗎?
abstract class Pr {
def pr()
}
trait PrePostPr extends Pr {
abstract override def pr() {
println("prepr")
super.pr()
println("postpr")
}
}
object Foo extends Pr with PrePostPr {
def pr() = println("Foo")
}
試圖在REPL來評價這將產生以下錯誤:
<console>:10: error: overriding method pr in trait PrePostPr of type()Unit;
method pr needs `override' modifier
def pr() = println("Foo")
啊,謝謝你的解釋! – srparish
看起來使用相同的名字很好,所以我可以命名類「Foo」,然後讓對象「Foo」擴展類「Foo」。 – srparish
是的,這是 - 在這種情況下,對象'Foo'被稱爲類「Foo」的伴侶對象。 – axel22