假设我有一些traits,每个都为扩展的类添加一些行为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
Run Code Online (Sandbox Code Playgroud)
或者每个特征是否应该从Actor抽象方法中定义它所需的方法,以便它们由最终的具体类提供,这是唯一一个将扩展的类Actor?
遗产
trait A extends Actor
Run Code Online (Sandbox Code Playgroud)
意思A是Actor.另一种方式是使用self-types
trait B {
self: Actor =>
}
Run Code Online (Sandbox Code Playgroud)
意味着B需要Actor混入.
有关详情,请参阅链接问题