我需要一些帮助来理解OOP

时间:2016-04-14 16:37:52

标签: java oop

我目前正在使用java进行棋盘游戏,我对OOP在这种情况下的确切运作方式提出了疑问:

现在,我有两个对象:

  1. 游戏板对象
  2. 在其构造函数中接收游戏板对象的Win对象
  3. 两个对象都已在我的main方法开始时实例化。

    游戏板对象将是活动的,所有棋子来回移动并被摧毁。

    每次移动完成后,Win对象将检查当前玩家是否赢得了比赛。

    现在,问题是:

      

    将对象传递给Win对象   开始更新为主方法中的活动板对象?

    public static void main(String[] args){
    
        Matrix m = new Matrix();
        Win w = new Win(m);
    

2 个答案:

答案 0 :(得分:1)

这甚至不是OOP问题,这是基本的java。因为java存储对内存中对象的引用(指针,这就是为什么它被称为NullPointer),如果你有对象A和B引用相同的内存位置,并且你更新As值,Bs值也会更新。

当您复制另一个对象(对象A = B)时,您只复制一个内存地址。

答案 1 :(得分:-1)

胜利不是一个对象!胜利是一种行动a.k.a一种方法!游戏的一些对象:

  • 游戏
  • 播放器
  • 控制台