亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Extjs中使用extend(js繼承) 的代碼

 更新時間:2012年03月15日 00:28:05   作者:  
Extjs中使用extend(js繼承) 的代碼,抄<深入淺出Extjs>書
注:抄<深入淺出Extjs>書
傳統(tǒng)的js實(shí)現(xiàn)繼承操作為:
一:定義一個父類
復(fù)制代碼 代碼如下:

var BaseClass = function(){
//.....
};
BaseClass.prototype.someMethod = function(){
//.....
};
BaseClass.prototype.overridenMethod = function(){
//....
}

為BaseClass定義兩個函數(shù)someMethod 和overridenMethod ,,然后定義一個subClass子類,可以直接從BaseClass中繼承所有的屬性和函數(shù),
復(fù)制代碼 代碼如下:

var subClass = function(){
BaseClass.call(this);
};
subClass.prototype = new BaseClass();
subClass.prototype.newMethod = function(){
//...
};
subClass.prototype.overridenMethod = function(){
//...
}

在上面的代碼中,subClass的構(gòu)造函數(shù)首先調(diào)用BaseClass的構(gòu)造函數(shù)初始化數(shù)據(jù),然后通過subClass.prototype = new BaseClass();這條語句讓subClass類獲得BaseClass中的所有屬性和函數(shù)。這樣就實(shí)現(xiàn)了繼承。在此之后我們就可以操作subClass的prototype,為子類添加新的函數(shù)或者覆寫父類的同名函數(shù)。
在EXT中使用Ext.extend()函數(shù)實(shí)現(xiàn)繼承功能的方法:
復(fù)制代碼 代碼如下:

var subClass = function(){
subClass.superclass.costructor.call(this);
};
Ext.extend(subClass, BaseClass,{
newMethod: function(){
//...
},
overridenMethod : function(){
//....
}
});

在Ext.extend()函數(shù)通過 subClass.superclass.costructor.call(this);就可以直接調(diào)用父類的構(gòu)造函數(shù)。這個函數(shù)的第一個參數(shù)總是this, 以確保父類的構(gòu)造函數(shù)在子類的作用域里工作。
如果父類的構(gòu)造函數(shù)需要傳入?yún)?shù),我們也就可以將所需要的參數(shù)直接傳給它,如:
subClass.superclass.costructor.call(this, config);
這樣我們就得到了一個繼承了父類的所有屬性和函數(shù)的子類。

相關(guān)文章

最新評論