Java 在类2中的方法中使用类1中的方法
我有一个任务(用java编写),它在接口以及如何和在何处实现各种东西方面非常具体。我知道有人问了很多类似的问题,但我似乎无法将它们与我的问题联系起来 我必须实现的类是Java 在类2中的方法中使用类1中的方法,java,eclipse,Java,Eclipse,我有一个任务(用java编写),它在接口以及如何和在何处实现各种东西方面非常具体。我知道有人问了很多类似的问题,但我似乎无法将它们与我的问题联系起来 我必须实现的类是 public class Algorithm<G extends Game<M>, M extends Move> implements AIp<M> someList没有在游戏中实现。就我理解你的概念而言,我认为你可以简单地在Game类中声明Board对象的getter方法,并在G中实现它
public class Algorithm<G extends Game<M>, M extends Move>
implements AIp<M>
someList没有在游戏中实现。就我理解你的概念而言,我认为你可以简单地在
Game
类中声明Board
对象的getter方法,并在G
中实现它
class G
{
...
public Board getBoard()
{
return theBoardYouCreatedInG;
}
}
如果您已经有了G
对象,那么只需在算法的构造函数中提供它即可。然后您只需使用G
对象及其getter方法来获取Board
对象
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.someMethodFromG();
g.getBoard().someMethodFromBoard();
}
}
公共类算法实现AIp
{
G;
公共算法(G)
{
这个.g=g;
}
公共方法()
{
g、 someMethodFromG();
g、 getBoard().someMethodFromBoard();
}
}
编辑:
如果希望以这种方式使用代码,则需要在游戏中实现getBoard()。如果这是不可能的,那么我猜您必须在构造函数中提供Board
对象(就像您对G对象所做的那样)
G不应该是一个真正的类,它是一些类的类型参数,稍后您将指定(在本例中,任何实现Game
)的类),如果您想使用G
的方法,它们需要在Game
中声明,这正是我所寻找的。非常感谢!等待我没有G对象。我确实在G中创建了一个Board对象。因此使用G.getBoard().someBoardMethod()不起作用。g、 但是someMethodFromG()是。添加g
对象不是一个选项,因为算法必须是通用的,而不是特定于g
或游戏连接四。例如,您必须能够使用它玩井字游戏。g
object在这里表示任何游戏
对象。如果你想玩tic-tac-toe,那么你应该拥有继承自Game
的TicTacToe
类,对吗?好的,但是第二个代码部分的第四行不应该初始化Game g代码>而不是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.someMethodFromG();
g.getBoard().someMethodFromBoard();
}
}