extjs学习三类的创设

extjs学习三类的创建

ext里面面向对象的设计:

//Ext.namespace("org.forever.util");
Ext.ns("org.forever.util");
//创建一个类A,继承Object类
//Ext上面说extend被废弃,请使用define方法
Ext.define('org.forever.util.A', {
    extend: 'Object',
    userName: '默认值',//属性
    constructor: function(config){//构造函数
        Ext.apply(this, config);
    },
    printInfo: function(){
        alert("42" + this.userName);//如果在创建对象的时候有userName属性则有值
    }
});
//类静态方法
org.forever.util.A.sum = function(a, b){//也可以使静态方法
    return a + b;
}
var a = new org.forever.util.A({
    userName: '陈均',
    add: function(){
        alert('动态添加方法')
    }
});
//alert(a.userName);
//a.printInfo();
//a.add();
//alert(org.forever.util.A.sum(3,4));
//创建一个类B继承类A
Ext.define('org.forever.util.B', {
    extend: 'org.forever.util.A',
    show: function(){
        alert("b.show=" + this.userName);
    }
});
var b = new org.forever.util.B({
    userName: 'aaaa'
});
//b.printInfo();
//b.show();

//创建一个类C继承类B
Ext.define('org.forever.util.C', {
    extend: 'org.forever.util.B',
    show: function(){
        org.forever.util.C.superclass.show.call(this);//调用父类show方法
        alert("c.show=" + this.userName);
    }
});
var c = new org.forever.util.C();
c.show();