まったく同じ構造を持つが、内部で呼び出すメソッドが異なる 2 つのメソッドがあるとします。「構造」とは、論理演算子、コールバック、または内部クラスの同じスキームを意味します。つまり、実行の流れを定義するすべてのものです。いくつかの使用例が考えられます:
1) どちらのメソッドも似ていますが、内部呼び出し (methodA と methodB) が異なります。
void callIt(int a, int b) {
if (..) {
methodA();
}
}
void callIt(int a, int b) {
if (..) {
methodB();
}
}
2) メソッドは似ていますが、内部呼び出しパラメーターのパラメーターが異なります (つまり、メソッド間の唯一の違いは、 (methodA) 内のいくつかの呼び出しのオーバーロードです)。
void callIt(int a, int b) {
if (..) {
methodA(a, b);
}
}
void callIt(String a, String) {
if (..) {
methodA(a, b);
}
}
このコードを単純化し、コードの繰り返しを避けることは可能ですか?
PS私はJavaを使用していますが、それが問題にならないことを願っています.
回答: ピート ベルフォードが答えてくれました。私が彼に正しければ、ここでさらに詳しく説明します:同じコードを使用するが異なるタイプのメソッドをリファクタリングする