Aktör'ü genişleten birden fazla özellik geliştiriyorum. Sonra bu özelliklerden bazılarını kullanan bir aktör sınıfı oluşturmak istiyorum. Ancak, alma yöntemlerini Aktör sınıfının alma yöntemindeki tüm özelliklerden nasıl birleştireceğimi bilmiyorum.akka'da birden çok özellik istifleme Aktörler
Özellikleri:
trait ServerLocatorTrait extends Actor {
def receive() = {
case "s" => println("I'm server ")
}
}
trait ServiceRegistrationTrait extends Actor {
def receive() = {
case "r" => println("I'm registration ")
}
}
Aktör:
class FinalActor extends Actor with ServiceRegistrationTrait with ServerLocatorTrait {
override def receive = {
super.receive orElse ??? <--- what to put here
}
}
Şimdi FinalActor
için "r"
ve "s"
gönderirseniz sadece ServerLocatorTrait
gider - Son özellik eklendi olduğunu.
nasıl FinalActor
tüm özelliklerin gelen yöntemlerini almak birleştirmek mi: Yani bu şu anda Çalışır şekilde SoruServerLocatorTrait
Dolayısıyla bu durumda, süper son özellik eklendi düşündüğü nedir? http://www.kotancode.com/2011/07/19/traits-multiple-inheritance-and-actors-in-scala/ ancak bu yöntemler almak birleştirebilirsiniz eğer buna super en süper çağırarak da eklenmesiyle, bu ben,
olası yinelenen http://stackoverflow.com/questions/18124643/scala-stackable-trait-pattern-with-akka-aktörler) – cmbaxter
@cmbaxter Bunun nasıl bir kopyası olabileceğini anlamıyorum. Yine de OP bu çözüm olarak seçtiğim şeyi kullanabilir. – Adrian