日期:2014-05-16  浏览次数:20343 次

extjs中继承关系的用法
ExtJs的继承关系实现方式用三种。边学边记,先说一种实现方式吧

Ext.extend(subclass, superclass, [overrides])
这是一种最常见的实现方式。举例如下:
//1、第一步,通过function()构造对象
var SubClass = function() {
   SubClass.superclass.constructor.call(this);    //必须
};

//2、第二步,建立新对象与父类的继承关系
Ext.extend(SubClass, SupClass, {
   newMethod : function() {},
   overriddenMethod : function() {}
};

这里的要领是先要在子类中定义调用超类的构造方法,即:SubClass.superclass.constructor.call(this);

其次,通过Ext.extend()方法实现子类对父类的继承。
//1、第一步,声明一个对象并直接继承父类
com.ibeans.MainPanel = Ext.extend(Ext.Panel, {
    id : 'ReportPanel',
    region:'center',
    //....
    //2、重写父类函数initComonent()
    initComponent : function() {    //必须,
		
		this.store = ds2;
		this.cm = colModel2;
		this.cm.defaultSortable = true;
		com.ibeans.MainPanel.superclass.initComponent.call(this);  //必须
        //....
    }
}