我有一个特征,它代表了一些公开一些公共方法的模块(想想一个服务):
trait X {
def exposeMe: AService = ...
def keepMeHidden: BService = ...
}
然后,我有一个Y
模块需要来自X
. 的客户Y
也需要来自 的一项服务X
。但我不希望他们依赖 whole X
,只依赖这一项服务。我想“导出”一项公开的服务。
trait Y { this: X =>
def exposeMe2: AService = exposeMe
}
这可行,但是有没有办法保持方法名称相同?