Scala Akka代理的子类化

Scala Akka代理的子类化,scala,akka,Scala,Akka,我想创建一个子类akka.agent.agent。我试过以下方法 import akka.agent.Agent import markets.tickers.Tick class TickerAgent(val initialValue: Tick) extends Agent[Tick] { ??? } …此时,系统会提示我实现抽象Agent类的其余方法。但是,我希望保留这些方法的默认实现。从中可以看出,默认实现是在Agent伴生对象内的最终私有SecretAgent类中定义的 在实

我想创建一个子类
akka.agent.agent
。我试过以下方法

import akka.agent.Agent
import markets.tickers.Tick

class TickerAgent(val initialValue: Tick) extends Agent[Tick] {
  ???
}
…此时,系统会提示我实现抽象
Agent
类的其余方法。但是,我希望保留这些方法的默认实现。从中可以看出,默认实现是在
Agent
伴生对象内的最终私有
SecretAgent
类中定义的


在实现
Agent
的子类时,我是否可以以某种方式导入或访问默认的
Agent

据我所知,除了实现
Agent[T]
类定义的抽象方法外,没有其他方法。您可以在方法实现中调用默认方法。

为什么要将
代理子类化
?@Ryan我不应该尝试将代理子类化有明显的原因吗?除了对组合优于继承的一般偏好之外……您能提供一个在我自己的实现中调用默认方法的示例吗?我实现了所有的抽象方法,然后适当地调用了
super
,但这不起作用。我多次尝试使用akka代理,对其用法和语义感到困惑,但无论如何,我发现将代理[t]的子类实现为默认值并不是一件简单的事情。它需要按照API文档中每个方法上面描述的方式来实现抽象方法。例如,您应该在apply方法中返回initialValue,并在send方法中将initialValue更改为新值,依此类推。基本上,我需要复制所有
Agent
方法的实现,以便子类化
Agent
。看起来要么是非常糟糕的设计选择,要么是专门开发的,不希望其他人将代理子类化。。。