同じクラスのインスタンスが2つあるとします。クラスはいくつかのデータへのポインタを持っていますが、私は、インスタンスがいくつかのプライベート関数のアルゴリズムの一部としてポインタを交換することを望みますが、パブリック関数を介して直接アクセスすることによって他の人にデータを妥協することはありません。異なるインスタンスを通信させる
私の最初のアイデアは、Exchangeという名前のbool型の静的変数と、プライベートなもの:void requestExchange()とpublic **:** ** respond()の2つのメソッドを追加することでした。
if(exchange==true){
exchange=false;
return data;
}
else{return...?!
私はNO」をシミュレートする方法がないことに気づいたときにこれがあった。 requestExchangeは、次の操作を行いますされ、真の交換を設定します、とすぐに、選択したインスタンスから応答()と続きますOP "はデータが実際にはNULLになる可能性があるため、すべてが応答となります。何ができるかについての任意のアイデア?
UPDATE:私はちょっと考えました。リクエストとレスポンスのコンボは、結果としてNULLが意味を持つ(交換が最も確かに正しい)コンテキストでのみ呼び出されるため、NULLを返すだけですこのようにNO OPをシミュレートします。結果として外部者のNULLには役に立たない...しかし、私はまだ提案に興味がある。これを行うためのより構造化された方法が必要です。
は、あなたが求めているものを示し、より多くのコードを投稿について –