Re: Singleton
すぎたです。
In message news:20030819104001.7dae92c3.akama@home.so-net.ne.jp
"AKAMA Shun-ichi" <akama@home.so-net.ne.jp> wrote ...
> function SuperClass()
> SuperClass.prototype.myMethod = SuperClass_myMethod;
> function SubClass()
> var superclass = new SuperClass();
この形式だと、後で prototype で追加しても対応できるので、
なかなか良さそうです。
ただ、スーパークラスのコンストラクタが prototype に対して
アクセスしていますので、それだと SuperClass で private な
変数を使うと、共有してしまいますよね。
それだと、
function SuperClass() {
this.myMethod = function () {
document.write( "I am SuperClass Method.<BR>" );
}
}
function SubClass() {
this.anotherMethod = function () {
document.write( "I am SubClass Method.<BR>" );
}
this.constructor = SubClass;
}
SubClass.prototype = new SuperClass();
でも(SuperClassのコンストラクタは1回しか呼ばれませんが)
同様の効果は得られるように思います。
ところで、たとえば Java でスーパークラスに private な
変数を置いた場合、サブクラスが new で複数インスタンス化
されると、元にしたスーパークラスの private な空間も複数
になるのでしょうか?
別途なにか指定すると変わるという仕様かなという気もして
ますが、なかなか読み進まなくて・・・(^^;;
--
杉田
sugi-nws@bk.iij4u.or.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735