鉴于:
我有两个不同的项目,传统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();
}

07-24 15:52