好吧,我正在构建一个游戏,它有3种模式,与计算机相比,与同一台机器上的另一个玩家相比,与网络中的另一个玩家相比。 所以我想做的是:
if vs computer:
ClassConstructor(player1 player1, computer ai)
if vs sameMachine:
ClassConstructor(player1 player1, player2 player2)
如果vs overNetwork:
ClassConstructor(player1 player1, networkPlayer nPlayer)
那我怎么能这样做呢?
答案 0 :(得分:1)
如果player1
,player2
和computer
实现了一个通用界面,那么构造函数可以比您要求的更加通用。
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
}
}