在android项目中声明通用Java类

时间:2013-05-29 07:34:55

标签: java android class

我正在为Android制作一个简单的游戏,我需要在代码中声明一个通用类以便稍后进行投射,我有3个类可供选择,并且他们选择了dinamically,我怎么能实现呢?

enum difficulty {
    SIMPLE,
    MEDIUM,
    HARD
};

difficulty dif;

//assign dif

switch(dif) {
    case SIMPLE:
         ...
         break;
    case MEDIUM:
         ...
         break;
    case HARD:
         ...
         break;
}

这一切都取决于选择哪一个..

3 个答案:

答案 0 :(得分:1)

创建interfaceabstract class然后implements(对于interface)/ extends(对于abstract)相应的父类儿童班。

e.g。

public interface IEasy{

}

public class EasyClassA implements IEasy{

}

public class EasyClassB implements IEasy{

}

答案 1 :(得分:0)

或许使用一个难度基类,然后从一个类扩展到3个难度级别中的每个级别,然后在这些类中设置难度级别的东西?

所以这样:

public virtual DifficultyLevel
{

}

public EasyDifficulty extends DifficultyLevel
{
    // do stuff here to set difficulty to easy
}

public MediumDifficulty extends DifficultyLevel
{
    // do stuff here to set difficulty to medium
}

然后你可以从一个基本类型的DifficultyLevel转换为任何继承它的东西:D

答案 2 :(得分:0)

如果你想保持你的游戏简单,我认为你根本不需要实现子类。如果某些行为或逻辑(例如,不同的AI或边界属性)在困难之间发生变化,那么肯定是子类。但如果仅仅是配置一些数字(例如,电路板尺寸,移动速度,尝试次数,物理常数),那么只需使用3个初始化函数或switch,就像你在问题中所做的那样。