2011-10-21 2 views
1

私は、さまざまなオブジェクトが情報をやりとりして情報を交換する方法を理解することは非常に難しいと感じています。参考にすることができないから対処するには?

C/C++の世界から来て、処理のためにオブジェクトをクラス/関数に渡す必要があるときに、参照によってオブジェクトを渡すために使用されます。

私はオブジェクトコミュニケーションのための清潔で維持可能な方法を実現するためのパターンがわかっていると確信しています。私はそれが何であるかを知る必要があります。

EDIT:あなたはJavaでメソッドにオブジェクトを渡すと例

ObjectThatNeedsProcessing obj; 
WizardDialog dialog = new WizardDialog; 
dialog.addObjectToBeProcessed(obj); 
dialog.show(); 

//When the dialog is finished obj would be changed. 

敬具

+0

あなたの質問は何ですか? –

+0

オブジェクト間通信のパターンは何ですか? – Gerstmann

+2

あなたが達成しようとしているものの具体的な例は、短くても完全なコードセクションであることが望ましいでしょう。 –

答えて

1

、別の参照が既存のオブジェクトに行われています。 したがって、同じオブジェクトへの参照が2つあります。

enter image description here

0

(でも、ポインタは値で渡され、彼らは何かを指して)私はC++プログラマですませんが、Cには、値によってすべてのものを渡す - それはJavaで同じです。

これをネガティブとマークしている次の人には、他の人が理解できるように理由を説明してください。

+0

(私は投票しました)はいCはすべての値を渡しますが、Javaではできない変数のアドレスを取得する追加機能があります。たとえば、関数がスコープ内にあるポインタを変更するようにするには、そのアドレスを取って(ポインタへのポインタを取得する)、関数に渡して、そのポインタを介して元のポインタを変更することができますこれはJavaでは実行できません。また、プリミティブのアドレス(intポインタの取得など)を取得し、変更する関数に渡すこともできます。これは、配列や可変コンテナクラスを使用しないJavaでは実行できません。 – newacct

+0

upvoteありがとう:)ポインタへのポインタはC/C++の機能であり、直接のJava同等のものはないと主張することができます。つまり、私はjavaでこのような機能を必要としませんでした。シンプルなインターフェースでコードを書くのがよりクリーンです。 – DaveRlz

関連する問題