小编aru*_*and的帖子

字段在Qooxdoo库中作为静态字段

我想使用qx-oo(Qooxdoo)作为OOP库.但我对场外成员的奇怪行为感到困惑.看起来这些字段在一个类的所有对象之间共享,就像静态成员一样.例如,这个测试代码

    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())
Run Code Online (Sandbox Code Playgroud)

会产生这样的日志

class1.getChildrenCount() - 0
class2.getChildrenCount() - 0
class1.getChildrenCount() - 1
class2.getChildrenCount() - 1
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

或者你能建议另一个OOP-js-lib吗?

这是一个完整的例子.

javascript oop prototypal-inheritance qooxdoo

3
推荐指数
1
解决办法
119
查看次数

标签 统计

javascript ×1

oop ×1

prototypal-inheritance ×1

qooxdoo ×1