鉴于: 我有两个不同的项目:legacy A 和 nextGen B。 还有第三个项目 C,由 A 和 B 共享。
目标: 我必须在第三个项目 C 中执行averageCalculation()。但是项目 A 和 B 的实现不同。使用相同的方法签名但不同的实现,我如何创 build 计?注意:项目A和B应该只调用averageCalulation()相同的方法签名。
项目C
Interface I {
averageCalculation();
}
Class CClass implements I{
?<averageCalculation()-for A>
?<averageCalculation()- for B>
}
项目A
{
I i1 = new CClass();
i1.averageCalculation();
}
项目B
{
I i2 = new CClass();
i2.averageCalculation();
}
上面的做法正确吗?如果是这样,我如何在 CClass 中创建averageCalculation() 的两个实现?
最佳答案
创建两个不同的类来实现您的接口(interface),并在每个项目中使用不同的类:
项目C
interface I {
averageCalculation();
}
class CClassForA implements I{
averageCalculation(){...} // for A
}
class CClassForB implements I{
averageCalculation(){...} // for B
}
项目A
{
I i1 = new CClassForA();
i1.averageCalculation();
}
项目B
{
I i2 = new CClassForB();
i2.averageCalculation();
}
关于java - 使用不同的实现调用相同的方法签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26615801/