1
3
斑鸠 的答案叫做 带注释的绑定 如果您可以控制您的RichPlayer和PoorPlayer,这将非常有意义。它还可以让你从同一类中请求闪亮的硬币和生锈的硬币。但是,如果您愿意,也可以使用 private modules 。
基本上,这安装了两个匿名内部模块,每个模块绑定一个不同的播放器,因此即使没有注释,RichPlayer
以及RichPlayer的任何依赖项及其依赖项的任何依赖性等
将全部使用ShinyCoinProvider。PoorPlayer和RustyCoinProvider也是如此。这可能比带注释的绑定更难理解,但也更强大——也许从这里开始,您可以减少RichPlayer和PoorPlayer使用相同的具体类,或者创建两个播放器实现都使用的CoinPurse类,只需注入
|
2
2
试试这个:
并在Richplayer中用@Named(“Richplayer”)注释Coin字段,如下所示:
|