我有以下代码
if (player.femaleBool)
{
player.trueName = player.maleNames[nameNum[0]];
femGame gamePlay = new femGame();
}//end if
else
{
player.trueName = player.femNames[nameNum[0]];
maleGame gamePlay = new maleGame();
}//end else
gamePlay.tutorial();
我遇到了一个无法解决gamePlay的错误。这是因为它嵌套在if stetments中吗?如果是这样,我有什么方法可以解决它?它的范围应该是这个类的主要功能。
答案 0 :(得分:0)
这超出了范围:
gamePlay.tutorial();
游戏玩法仅存在于if条件中。但是你可以使用多态:
//your classes must implement a interface:
public interface IGame
{
void tutorial();
}
public class femGame: IGame
{
public void tutorial()
{
//implementation...
}
}
public class maleGame: IGame
{
public void tutorial()
{
//implementation...
}
}
//...
//using plymorphism:
IGame gamePlay;
if (player.femaleBool)
{
player.trueName = player.maleNames[nameNum[0]];
gamePlay = new femGame();
}//end if
else
{
player.trueName = player.femNames[nameNum[0]];
gamePlay = new maleGame();
}//end else
gamePlay.tutorial();
您可以使用[abstract]类来代替接口。