me gustaría usar el stackable trait pattern con objetos simples, pero me parece que no puede encontrar la manera de hacer que el compilador feliz:¿Se puede usar el patrón de rasgos apilables con objetos únicos?
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")
}
se trata de evaluar esto en el repl produce el siguiente error:
<console>:10: error: overriding method pr in trait PrePostPr of type()Unit;
method pr needs `override' modifier
def pr() = println("Foo")
¡Ah, gracias por la explicación! – srparish
Parece que está bien usar el mismo nombre, así que puedo nombrar la clase "Foo" y luego tener el objeto "Foo" extender la clase "Foo". – srparish
Sí, lo es - en ese caso, el objeto 'Foo' se llama el objeto compañero de la clase' Foo'. – axel22