ExtJS 中类的继承

ExtJS 允许对现有的类进行扩展,其扩展可以通过继承来实现。接下来我们就对刚刚使用ExtJS定义的Person类进行继承,定义一个Developer类,它继承自Person,同时还拥有Coding方法,代码如下:

Ext.define("Developer", {
    extend: 'Person',
    Coding: function (code) {
        Ext.Msg.alert(this.Name + " 正在编码", code);
    },
    constructor: function(){
        this.callParent(arguments);
    }
});

  从代码中可看出,ExtJS 使用 extend来实现继承。我们为Developer 类添加了Coding 方法,这是我们对Person类进行的扩展。在构造函数中,通过调用this.callParent 方法,实现对属性的初始化。需要说明的是,如果此处只调用了父类的构造方法,则可以省略掉,ExtJS 会自动为我们调用父类的构造函数。所以我们此处的代码可以进行简化:

Ext.define("Developer", {
    extend: 'Person',
    Coding: function (code) {
        Ext.Msg.alert(this.Name + " 正在编码", code);
    }
});

  

需要注意的是,如果你在子类中使用了构造函数,ExtJS 则不会再自动调用父类的构造函数。

我们要使用Developer类,代码很简单:

var Bill = new Developer("Bill", 26);
Bill.Coding("int num1 = 0; ");

  运行效果如图:

 

posted @ 2015-06-05 08:59  吉喆吉  阅读(554)  评论(0编辑  收藏  举报