mi piacerebbe utilizzare la stackable trait pattern con oggetti Singleton, ma io non riesco a trovare il modo di rendere il compilatore felice:È possibile utilizzare il modello del tratto impilabile con oggetti singleton?
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")
}
Cercando di valutare questa nel repl produce il seguente errore:
<console>:10: error: overriding method pr in trait PrePostPr of type()Unit;
method pr needs `override' modifier
def pr() = println("Foo")
Ah, grazie per la spiegazione! – srparish
Sembra che usi lo stesso nome, quindi posso dare un nome alla classe "Foo" e quindi avere l'oggetto "Foo" estendere la classe "Foo". – srparish
Sì, lo è - in tal caso l'oggetto 'Foo' è chiamato l'oggetto complementare della classe' Foo'. – axel22