我有一個名爲A
的類,它擴展了特性X
。 X
有一個抽象變量x
已在A
類中實現。類A
使用特徵X
中名爲foo
的功能之一。我正在嘗試製作類A
的伴侶對象,並在其中放入一些名爲Ofoo
的「靜態」方法。我的問題是Ofoo
使用foo
。於是,我試着做這樣的事情:通過對象擴展特質
trait X{
val x:String
def foo = {
//Full implementation here
}
}
case class A extends X{
val x = "barbaz"
// Class uses foo
}
object A extends X{
def Ofoo = {
//This also needs to use foo
}
}
我得到一個錯誤說A
不能被實例變量x
對象不特質X
定義。 我應該如何構造A
,以便它可以使用特徵中定義的功能foo
?
你應該解釋你真正想要完成的事情(你真正的問題,而不是抽象的問題)。可能有一個簡單的解決方案,但很難說如果我們不知道你在做什麼。 – toto2