我有以下类:Main创建一个Game实例,创建一个Player实例和一个World实例,World创建一个Floor实例。
现在我想在Player中调用一个方法,这个方法基本上只是一个吸气剂,但可能会在以后产生更多的复杂性。最好的方法是什么?在Game中创建一个方法,调用Floor然后写入播放器?我觉得在播放器中创建一个新的Floor实例并不明智。 (但实际上并不知道。)我认为没有办法直接升级我的等级来从玩家调用game.world.floor?
答案 0 :(得分:3)
玩家了解世界。
世界了解楼层。
要允许玩家访问楼层,请执行以下操作:
实施这个:
class World
{
private Floor floor;
public Floor getFloor()
{
return floor;
}
}
答案 1 :(得分:0)
您可以像这样使用制作地板单身人士
public class Floor{
private static Floor instance;
private Floor(){
// do initial things
}
public static Floor getInstance(){
if(instance == null)
instance = new Floor();
return instance;
}
}
现在,您可以通过调用
从任何位置访问Floor实例Floor.getInstance()
无论你在哪里打电话,它总是会使用一个Floor实例