就像我用Java语言编写国际象棋程序一样,有一个GameLauncher类和一个包含所有其他类的游戏类,因为所有这些类都需要访问表示棋盘上棋子的游戏实例变量private Piece[][] board。这些内部类是Player、BoardPanel (一个JPanel)、Piece和所有其他Pie子类(车、马、毕晓普、国王等)。
我想知道实现这一点的标准方法是让类作为游戏的内部类(从而允许它们直接访问游戏的board对象),还是让它们作为单独的类并将this传递给new的每个调用
那是,
board[0][0] = new Car(new Point(0, 0), RED);与
board[0][0] = new Car(new Point(0, 0), RED, this);发布于 2013-07-04 03:39:48
您可以将其他类创建为单独的类。正如您在问题中所说的,每个其他类都可以简单地包含一个Game实例。我觉得挺好的。但是,由于board是私有的,您可能希望在Game中创建一个public Piece[][] getBoard()方法,以便其他类可以访问该板。
发布于 2013-07-04 04:32:00
没有标准的方法来做到这一点,尽管我猜人们会单独定义类。有一个内部类在逻辑上是完全没问题的!但是有几种方法可以处理单独的类定义。
https://stackoverflow.com/questions/17456593
复制相似问题