2
请原谅我,如果这个问题是愚蠢的......我是一个新手,当涉及到编程。我感到困惑的一件事是,我是否应该每次调用一个获取某个值的方法或者保存本地副本并更新该方法时,实例化一个新变量。调用存取方法的好习惯?
为了说明,假设我有一个机器人导航迷宫。机器人驾驶员操作机器人并且必须获取机器人的坐标以执行诸如感测障碍物的一些动作。
public class RoboDriver {
public void senseObstacle() {
int[] position = robot.getPosition();
...
}
}
public class RoboDriver {
int[] robotPositionCopy;
public void senseObstacle() {
this.robotPositionCopy = robot.getPosition();
...
}
}
机器人对象中的位置坐标总是最新的。所以如果我想获得更新的位置,这两个例子中的哪一个更好,为什么?或者它没有太大区别?
这取决于您何时/何时需要使用这些信息。 – 2014-10-09 17:29:24
@DaveNewton在这种情况下,当RoboDriver试图感知某些东西时,我只需要更新的坐标。所以每次调用sense时,都需要更新后的坐标。 – mrQWERTY 2014-10-09 17:30:42
你可以同时使用两者。但是,第二种方法会将数组对象保存在内存中的时间通常比局部变量长。 – 2014-10-09 17:30:57