如何根据不同的条件在主类构造函数中调用不同的对象类?

时间:2018-02-24 00:06:36

标签: java

好吧,我正在构建一个游戏,它有3种模式,与计算机相比,与同一台机器上的另一个玩家相比,与网络中的另一个玩家相比。 所以我想做的是:

if vs computer:

ClassConstructor(player1 player1, computer ai)

if vs sameMachine:

ClassConstructor(player1 player1, player2 player2)

如果vs overNetwork:

ClassConstructor(player1 player1, networkPlayer nPlayer)

那我怎么能这样做呢?

2 个答案:

答案 0 :(得分:1)

如果player1player2computer实现了一个通用界面,那么构造函数可以比您要求的更加通用。

ClassConstructor(Agent agent1, Agent agent2)

其中Agent是其他类型的公共接口(或基类)

答案 1 :(得分:0)

if vs computer:

ClassConstructor(player1 player1, computer ai)

if vs sameMachine:

ClassConstructor(player1 player1, player2 player2)

如果vs overNetwork:

ClassConstructor(player1 player1, networkPlayer nPlayer)

构造

ClassConstructor(player1 player1, Object obj){
    if (obj instanceof computer) {
    //your code
    }
    if (obj instanceof networkPlayer) {
    //your code
    }
    if (obj instanceof player) {
    //your code
    }
}