在Java中共享数据和方法的正确方法
因此,我终于开始学习高效编程(过去每件事都使用一个类),到目前为止,我正在制作的这个新游戏有以下几个类:在Java中共享数据和方法的正确方法,java,oop,class,Java,Oop,Class,因此,我终于开始学习高效编程(过去每件事都使用一个类),到目前为止,我正在制作的这个新游戏有以下几个类: 游戏驾驶员 地图 挡块 玩家 现在,Map创建了一个块对象的ArrayList,游戏驱动程序创建了一个Map对象和一个Player对象,现在一切都很好。但现在我遇到了一个问题 我向玩家添加了一个名为checkLand()的方法,GameDriver调用该方法来检查玩家是否可以踩到某个点,但为了让该方法能够检查,它需要访问游戏驱动程序正在使用的地图对象,因此我尝试了以下方法: public
- 游戏驾驶员
- 地图
- 挡块
- 玩家
public class Player(){
GameDriver gameDriver = new GameDriver();
...more declarations
public boolean checkLand(int xCord, int yCord){
if (gameDriver.map.world.get(gameDriver.map.getByCords(xCord,yCord)).type == 1) {
return false;
} else {
return true;
}
}
但很明显,它不起作用,但我想让你们看看,这样你们就可以理解我想要它做什么,我应该在GameDriver中使用checkLand方法吗?我想知道最好的方法:)由于
Player
对象是由GameDriver
对象创建的,您应该能够访问GameDriver
类中的Player
对象。另外,您还说过,Map
对象也正在您的GameDriver
类中创建,因此该类也可用
您可以在Player
类中使用一个方法,该方法将Map
对象作为参数,并执行所需的逻辑
这将允许您的
GameDriver
对象调用它拥有的对象(Player
),并将另一个它也拥有的对象(Map
)传递给它。,效果非常好!非常感谢你!听起来我是在以一种非常有效的方式编写代码,还是需要做很多工作?@JeremySayers:我不能说,我不知道你到底想做什么,以及如何做。也就是说,我建议你看看设计模式,这是一个有用的网站。大多数情况下,这些模式会让你的应用程序设计更简洁、更高效。谢谢你,我希望我能更多地理解该网站所说的内容,但这只是意味着我还有更多的学习要做:)@JeremySayers:有整本书都致力于这一主题,因此它可能会错过一些东西。