鉴于:
我有两个不同的项目,传统A和NextGenB。
A和B之间共享第三个项目C。
目的:
我必须在第三个项目C中执行averageCalculation()。但是对于项目A和B,实现方式有所不同。使用相同的方法签名但实现方式不同,如何创建设计?注意:项目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()的两个实现?
最佳答案
创建两个实现您的接口的不同类,并在每个项目中使用一个不同的类:
项目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();
}