鉴于: - 不同的实现需要汇集在同一个接口(interface)下
不幸的是:这些实现有一个“创建”方法,但输入参数的数量和类型不同
解决方案……? 除了 Object 的可变参数,还有什么其他选择?
最佳答案
假设您只希望在您想要的界面下有一个创建方法
创建一个包装器类来实现您想要的接口(interface)。现在根据某些条件从包装类调用各种实现。
从可维护性的角度来看
如果可能,避免条件并从调用代码发送实现类名。只需调用从调用代码作为参数传递的类上的创建方法。(为此,您还需要创建虚拟创建方法,并将一些对象类作为参数,它包含每个实现类下的所有参数,这些实现类只是将调用委托(delegate)给具有所需参数数量的预期方法)
关于java - 接口(interface)相同,实现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853293/