貴様ら!オブジェクト指向を教えろ!!第2章
■ このスレッドは過去ログ倉庫に格納されています
0437デフォルトの名無しさん
NGNG馬鹿にも分かるように説明してやるよ。
public class Foo { public void foo() { Bar o1 = new Bar(); } }
public class Foo { public void foo() { Bar o2 = Bar.getSingleton(); } }
クラスFooから見た場合、o1とo2の本質的な違いはないだろう。
どちらも自動変数で、Fooが参照を保持するわけではない。
そもそも、SingletonはBarのみが参照を保持することが前提だから、
Bar内でインスタンスの解放タイミングだけを気をつければ、
後はどのクラスも参照の有無を気にしなくてもいい。
参照の管理をクラス内に限定できるというメリットがあるわけだ。
おまえはFooのなかでBarを使うな、つまりクラスライブラリを
使うなといってるのと同じ。
■ このスレッドは過去ログ倉庫に格納されています