1

以下の2つのクラスのように、パラメータの異なるバージョンを呼び出すことを除いて、それらはほとんど同じに見えるので、それらをリファクタリングする方法は?

import com.v1.B;
import com.v1.C;
class A1
{
  public A1(B,C)
  public dosomething1()
  {
    //do something with B and C
  }
  public dosomething2()
  {
    //do something
  }
}

クラス A2:

import com.v2.B;
import com.v2.C;
class A2
{
  public A2(B,C)
  public dosomething1()
  {
    //do something with B and C
  }
  public dosomething2()
  {
    //do something
  }
}
4

1 に答える 1

1

最初に両方のタイプの基本クラスまたはインターフェイスを作成する必要があります。たとえばcom.v.BaseB、多態性を促進するためcom.v1.Bcom.v2.B、次のように重複することなく単一のジェネリック クラスを使用できます。

import com.v.B;
import com.v.C;
class A
{
  public A(B,C)
  public dosomething1()
  {
    //do something with B and C
  }
  public dosomething2()
  {
    //do something
  }
}
于 2012-12-19T04:38:21.920 に答える