我正在创建多个扩展Actor的特性。然后我想创建一个Actor类,该类使用其中一些特性。但是,我不确定如何将所有特性的接收方法组合到Actor类的接收方法中。
特性:
请提供需要翻译的内容。
如何将
PS-我看过带有
特性:
请提供需要翻译的内容。
trait ServerLocatorTrait extends Actor {
def receive() = {
case "s" => println("I'm server ")
}
}
trait ServiceRegistrationTrait extends Actor {
def receive() = {
case "r" => println("I'm registration ")
}
}
演员:
class FinalActor extends Actor with ServiceRegistrationTrait with ServerLocatorTrait {
override def receive = {
super.receive orElse ??? <--- what to put here
}
}
现在如果我向 FinalActor
发送 "r"
和 "s"
,它只会到达 ServerLocatorTrait
- 这是最后添加的 trait。因此,它目前的工作方式是将 super 视为最后添加的 trait,在这种情况下是 ServerLocatorTrait
。
问题:如何将
FinalActor
中所有 traits 的接收方法组合起来?PS-我看过带有
react
示例的 actor:http://www.kotancode.com/2011/07/19/traits-multiple-inheritance-and-actors-in-scala/,但那不是我需要的。