3
假設我有多個trait
s,每個特徵都會向延伸Actor
的類添加一些行爲。定義將特定行爲添加到實現特定特徵的類的多個特徵的最佳實踐
它們每個都需要Actor
上的一小部分方法。他們都可以像這樣延長Actor
嗎?
trait A extends Actor {
def doAThing = { ... }
}
trait B extends Actor {
def doBThing = { ... }
}
trait C extends Actor {
def doCThing = { ... }
}
class D extends Actor with A with B with C
還是應該每個性狀限定它需要從Actor
作爲抽象方法,使得它們被最後,混凝土類,這是唯一的一個,然後,將延長Actor
供給的方法呢?
請參閱[scala自我類型和特質子類之間有什麼區別?](http://stackoverflow.com/questions/1990948/what-is-the-difference-between-scala-self-types-and-特質的子類)。這可能是你在找什麼。 – 4e6 2012-03-28 12:02:35
我認爲這就是我正在尋找的東西。謝謝! – Russell 2012-03-28 12:10:09
我根本不知道自我類型 - 如果你認爲這個問題是一條不同的路徑來回答相同的答案,那麼發佈它,我會接受它。 – Russell 2012-03-28 12:12:50