【发布时间】:2012-09-08 12:59:35
【问题描述】:
我想问是否有可能的方法来有条件地实现接口,或者是否可以解决我想要做的事情。我想制作两个接口 LangA 和 LangB ,它们只会保存大量的最终变量,这些变量是用于打印消息的字符串。正如您可能想象的那样,LangA 是一种语言,而 LangB 是另一种语言。我想要的是让我的消息处理类有条件地实现基于系统语言环境所需的接口。即使使用一些自定义库,我也不知道这是否有可能,所以如果没有,请解释我是否至少可以解决它。 (快速提问:这在 Scala 中可行吗?谢谢!)
我想到了一个可能的,但可能不是一个非常节省资源的workaraound,它将让类的构造函数检查语言环境并根据某些无方法类的值设置自己的final,该类仅具有每种语言的final(例如构造函数知道语言环境是 locA,所以它设置 finals myF1=LangA.myF1; myF2=LangB.myF2; 等等)提前致谢!
【问题讨论】:
-
@duffymo 我认为不是,因为他在问是否应该避免使用 ConstantInterfaceAntippattern,而我在问我是否可以有条件地实现一个接口。顺便说一句,就 Antippattern 而言,我必须为多个类实现接口,但为了便于解释,我只指一个类!
-
我意识到这一点。你不应该这样做,一个或多个班级。完全错了。
标签: java class interface locale