2016-04-19 7 views
-2

事前構成済みのインスタンスを使用してブラックジャックゲームを作成しようとしています(提供されたメソッドシグネチャを使用する必要があります)。私はゲームのループを実行するtestHarness /クライアントクラスを持っています。クライアントクラスは次のようになります。Javaクラスインスタンスを別のクラスインスタンスにアタッチ

final GameEngine gameEngine = new GameEngineImpl(); 

ですから、gameEngineはGameEngineImplの新しいインスタンスです。

クライアントには、gameEngineにGameEngineCallbackImplのインスタンスをアタッチするメソッドがあります。

gameEngine.addGameEngineCallback(new GameEngineCallbackImpl()); 

GameEngineImplでaddGameEngineCallbackためのメソッドシグネチャは、この

public void addGameEngineCallback(GameEngineCallback gameEngineCallback) 

のでGameEngineCallback gameEngineCallback =新しいGameEngineCallbackImpl()のように見えます?

gameEngineにgameEngineCallbackを追加するにはどうすればよいですか?私は参照を渡すことはできますか?このような?

public void addGameEngineCallback(GameEngineCallback gameEngineCallback) { 
    GameEngineCallback gameEngineCallbackCurrent = null; 
    gameEngineCallback = gameEngineCallbackCurrent; 

}

+1

私は実際の質問が何であるか分かりません。 – csmckelvey

+0

あなたは 'GameEngine'で遊ぶように招待していますか? – Hackerdarshi

+0

彼は他のクラスインスタンスにクラスインスタンスを添付する方法を尋ねています。別のクラスインスタンスには、別のメールメッセージに電子メールメッセージを添付する方法があります。 –

答えて

0

別のオブジェクト(「添付」)(「コンテナ」)を「アタッチ」する方法は、conteinerにinstance variableとして添付の基準を保持することである。

public class GameEngine { 
    // an instance variable, declared outside of the methods. 
    // its lifetime equals that of the game engine instance 
    private GameEngineCallback gameEngineCallback; 

    public void addGameEngineCallback(GameEngineCallback gameEngineCallback) { 
    this.gameEngineCallback = gameEngineCallback; 
    } 

    // later on, the engine can call upon the callback to do stuff 
    public void startGame() { 
    this.gameEngineCallback.start(); 
    } 
} 
+0

sharonbn、すばらしい答え – user3162260

関連する問題