Qx-oo(Qooxdoo)をOOPライブラリとして使用したいのですが。しかし、私はフィールドメンバーの奇妙な行動に混乱しました。静的メンバーのように、フィールドは1つのクラスのすべてのオブジェクト間で共有されているように見えます。たとえば、このテストコード
qx.Class.define("com.BaseClass",
{
extend : qx.core.Object,
members:
{
_children: [],
getChildrenCount: function(){
return this._children.length;
},
addChild: function(child){
this._children.push(child);
}
}
});
var class1 = new com.BaseClass();
var class2 = new com.BaseClass();
showLog("class1.getChildrenCount() - " + class1.getChildrenCount())
showLog("class2.getChildrenCount() - " + class2.getChildrenCount())
class1.addChild("somechild");
showLog("class1.getChildrenCount() - " + class1.getChildrenCount())
showLog("class2.getChildrenCount() - " + class2.getChildrenCount())
そのようなログを生成します
class1.getChildrenCount() - 0
class2.getChildrenCount() - 0
class1.getChildrenCount() - 1
class2.getChildrenCount() - 1
これを達成する方法はありますか?
または、別のOOP-js-libにアドバイスできますか?
これが完全な例です。