2017-12-22 5 views
0

私はJavaでブレイクアウトゲームを持っています。 Gameオブジェクトはソケットエンドポイントで宣言されています。 Gameクラスには、例えばBallオブジェクトがあります。 BallクラスのGameクラスからプロパティを変更するにはどうすればよいですか?オブジェクトを作成したクラスの変数を変更または使用するにはどうすればよいですか?

私はこのために最善の方法が何であるか把握しようとしています。

理解するためのコード:

public class Game { 

    private Ball ball; 
    private int score; 

    public Game(){ 
     this.ball = new Ball(startLocationBall,10,2); 
    } 
} 

今私はそれがレンガに当たったとき、私のボールのクラスからスコアを変更したいです。

+1

getters&settersを使用しますか? –

+0

しかし、ボールクラスからGame.setScoreを呼び出すにはどうすればいいですか? – Niel

答えて

3

対応するGameオブジェクトへの参照でボールオブジェクトを初期化します。 この方法で、ボールクラスからgame.setScore()を呼び出すことができます。 (スコア変数にセッターとゲッターを追加する必要があります);

public class Ball{ 

    private Game game; 

    public Ball(Game game){ 
     this.game = game; 
    }  

} 
+0

これらは同じゲームオブジェクトですか?それは最初のもののコピーではないでしょうか? – Niel

+0

いいえ、Gameオブジェクトは参照渡しされます:) – cecunami

+0

完璧に動作します。ありがとう! – Niel

関連する問題