我有一個非常具體的接口以及如何以及在哪裏實現各種東西的任務(用java編寫)。而且我知道很多類似的問題已經被問到,但我似乎無法將它們與我的問題聯繫起來。使用第二類方法中的第一類方法
I類必須實現是
public class Algorithm<G extends Game<M>, M extends Move>
implements AIp<M>
我不允許更改名稱。該類中的方法必須實現類G
中的幾個方法。
在G
中實現的接口Game
包含一些方法,如makeMove()
或evaluateSituation()
(我們在這裏播放連接四)。
到目前爲止,我已經實現了從兩個接口在單獨類中的所有方法,並且我還創建了一個播放Board
(class)。在G
中,我創建了一個可以玩遊戲的棋盤對象。
所以我的問題是:我如何使用從類G
,在我的方法的類Board
(在Algorithm
)的方法,而無需創建的Board
一個新的對象(因爲我已經有)和/或G
。
編輯:
public class Algorithm<G extends Game<M>, M extends Move> implements AIp<M> {
G g;
public Algorithm(G g) {
this.g = g;
}
public someMethod() {
g.getBoard().someMethodFromBoard();
// The line above gives the following error:
// The method getBoard() is undefined for the type G.
// 1 quick fix available: Add cast to 'g'.
}
}
public class G {
public Board getBoard() {
return somelist;
}
}
someList沒有在遊戲中實現。
就是我在找的東西。非常感謝! – qwertz
等待。我沒有G對象。我在G中創建了一個Board對象,因此使用g.getBoard()。someBoardMethod()不起作用。然而g.someMethodFromG()卻是。 – qwertz
添加'G'對象不是一個選項,因爲該算法必須是通用的,而不是特定於'G'或遊戲連接四個。例如。你必須能夠玩它的tic tac腳趾。 – qwertz