private int GetAllMonsterEXP()
{
int exps = 0;
for (int i = 0; i < monsterNum; i++)
{
exps += MonsterInitInfoList[roleAttMonsterIndex].exp;
}
return exps;
}
private int GetAllMonsterGold()
{
int gold = 0;
for (int i = 0; i < monsterNum; i++)
{
gold += MonsterInitInfoList[roleAttMonsterIndex].gold;
}
return gold;
}
就是上面两个方法,可以合并为一个方法吗,通过传递匿名方法之类的??
如果只有这两个方法,暂时不重构也无所谓,很清晰,如果要重构,可以重构成这样
private int GetAllMonsterEXPOrGlod(boolean isGetExp)
{
int data = 0;
for (int i = 0; i < monsterNum; i++)
{
if(isGetExp){
data += MonsterInitInfoList[roleAttMonsterIndex].exp;
}else{
data += MonsterInitInfoList[roleAttMonsterIndex].gold;
}
}
return data;
}
如果多的话,if 换个switch case ,参数换个String 或者 int
如果需要获取的数据类型有很多,那就改策略模式就好了
不用吧 这样挺好 :-)
感觉这2个就是一个方法的样子
private int GetAllMonsterEXP()
{
int exps = 0;
for (int i = 0; i < monsterNum; i++)
{
exps += MonsterInitInfoList[roleAttMonsterIndex].exp;
}
return exps;
}
private int GetAllMonsterGold()
{
return GetAllMonsterEXP();
}
我感觉两个方法都是一样的啊,应该可以和并成一个直接使用