以下の3つの方法のような12の方法があります。私は、それらすべてがまったく同じ機能を実行していることに気付きました。変更されているのは、メソッドの名前と if 条件だけです。以下の条件を処理できる 1 つのジェネリック メソッドを作成するスマートな方法はありますか。
補足: callXCD は、これらのメソッドを持つ現在のオブジェクトの子オブジェクトであり、「isNational()」などのそのメソッドは保護されています。
public int getNationalTelephonyCost(){
if(callXCD.isNational() && callXCD.isTelephony())
return Integer.parseInt(callXCD.getDiscountedAmount());
else
return 0;
}
public int getOnNetTelephony(){
if(callXCD.isOnNet() && callXCD.isTelephony() && callXCD.isMobileOriginating())
return Integer.parseInt(callXCD.getDiscountedAmount());
else
return 0;
}
public int getLocalData(){
if(callXCD.isLocal() && callXCD.isData())
return Integer.parseInt(callXCD.getDiscountedAmount());
else
return 0;
}