2015-04-03 180 views
-2

我有2個名爲CastlingCheck.java和Board.java的java文件。 CastlingCheck.java包含一個布爾方法(testCastling),我想在Board.java中調用它。將布爾方法從一個類傳遞到另一個類

CastlingCheck.java:

package chess; 
public class CastlingCheck extends Board{ 
public boolean testCastling(int oldX, int oldY, int newX, int newY) { 
    int deltax = newX - oldX; 
    if (1st condition) { 
    **code here** 
     return true; 
      } 

    if (2nd condition) { 
    **code here** 
     return true; 
      } 

    if (3rd condition) { 
    **code here** 
     return true; 
      } 

    if (4thnd condition) { 
    **code here** 
     return true; 
      } 

    return false; 
    } 
} 

Board.java:

package chess; 
...code... 

public boolean testCastling(int oldx, int oldy, int newx, int newy) { 
    return true; 
} 

...code... 

我這樣做對嗎?

回答

-1

在OO編程中,您的目標是模仿真實世界。

所以首先,問自己這個問題:是一個CastlingCheck董事會?回答是:不,不是。所以CastlingCheck不是董事會。

在OO中,這種問題稱爲繼承,用extends關鍵字編程。

所以,CastlingCheck不應該擴展Board。

要解決您的問題,現在創建一個CastlingCheck類的實例並調用該方法。

所以在董事會類:

CastlingCheck cc = new CastlingCheck(); 
boolean b = cc.testCastling(...); 

但是你應該更好地遵循一些設計原則,如著名的MVC。網上有很多關於這方面的信息。

+0

CastlingCheck不是董事會。我知道。 CastlingCheck只是一個擁有我想在理事會課堂上要求的方法的課程。另外,是不是它應該是'boolean b = cc.textCastling(0,0,0,0)'?@StefaanNeyts – skg22 2015-04-03 07:55:21

相關問題