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