【发布时间】:2011-03-29 18:22:09
【问题描述】:
是否可以在 Scala 中编写如下内容:
trait Road {
...
}
class BridgeCauseway extends Road {
// implements method in Road
}
class Bridge extends Road {
val roadway = new BridgeCauseway()
// delegate all Bridge methods to the `roadway` member
}
还是需要我一个一个地实现Road的每个方法,在roadway上调用对应的方法?
【问题讨论】:
-
查看 Kevin Wright 的自动代理编译器插件。
-
@daniel - 有趣的是你应该这么说,我最近再次解雇了那个。 2.9 编译器的变化似乎能够支持我的原始设计。
-
@kevin - 太棒了!我认为每个人都需要这个代理功能。它绝对应该是 scala 的标准功能!我一直在写转发器,我之所以懒得安装编译器插件正是因为——我需要安装它,然后说服 sbt、idea 等 pp 透明地使用它。它是否适用于演示编译器(例如在想法中)?
-
我刚刚向 GitHub 推送了一个更新,它现在都在针对 Scala 2.9.0.RC1 的 SBT 中。预计 24 小时内会有更好的文档和示例。
-
@Kevin Wright 太棒了 - 谢谢