dポイントプレゼントキャンペーン実施中!

1つのインスタンスを他の複数のクラスで共有するには
どうすればよいのでしょうか。

私が知っているは、生成時に共有したいインスタンスを渡す
という方法です。

他にどのような方法があるのでしょうか。
ご存知の方がいましたらご教授くださいよろしくお願いいたします。

A 回答 (1件)

こういう場合の扱いとしては、デザインパターンの「シングルトン」というやつとして設計するのが一般的でしょう。

クラス自体に、1つのインスタンスしか生成できない仕組みを用意してやるのですね。

考え方としては、まずコンストラクタの使用を禁止します。これは、コンストラクタをすべてprivateで実装すれば外部から一切newできなくなります。そして、getInstanceというようなメソッドを用意しておき、これを呼び出してインスタンスを取得するようにします。

このgetInstanceでは、あらかじめprivateフィールドにインスタンスを生成しておき、常にこれを返すようにしておきます。こうすることで、常にフィールドに保持されている同一のインスタンスが得られるようになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!