Android:与通用功能进行通信,而与Class

时间:2019-03-20 15:33:53

标签: java android oop android-fragments

我有一个级别不同的游戏,各个级别之间有很多共享代码。因此,我拥有包含所有共享代码的MainActivity,这将为每个具有相应级别代码的级别加载一个片段LevelOne。我需要使用片段,因为我还将其他片段与其他UI组件一起加载。

所有级别片段都包含相同名称的功能,并且每个级别都有唯一的代码,例如StartGame()和PauseGame(),MainActivity在必要时调用。不管它是什么片段,如何加载允许我访问这些功能的单个对象?

例如在python中,我会这样做:

// Instantiation
int level_number = 1;  
levels = [levelOne, levelTwo]
level = levels[level_number]

// Something happens and I want to start the currently selected level somewhere in MainActivity
level.StartGame()      

但是在Java中,我无法执行此操作,因为我必须事先指定对象的类,而我不知道,而如果到处都引用了该级别,则必须具有这些对象:

// Instantiation
LevelOne levelOne = new LevelOne();  
LevelTwo levelTwo = new LevelTwo();

// Something happens and I want to start the currently selected level somewhere in MainActivity    
if (level_number == 1) {
   levelOne.StartGame();
} elif (level_number == 2) {
   levelTwo .StartGame();
}

1 个答案:

答案 0 :(得分:1)

为什么每个级别都需要另一个课程?

Level levelOne = new Level(1);  
Level levelTwo = new Level(2);