javascript 寫類方式之八
更新時間:2009年07月05日 01:46:59 作者:
這里用的是Ext core3.0,Ext中用Ext.extend來定義一個類(當(dāng)然它更多用來擴展一個類),Ext整個框架各種控件如Panel,MessageBox等都是用Ext.extend方法來擴展。這里僅僅用它來定義一個最簡單的類。
8、Ext.js的寫類方式
這里用的是Ext core3.0,Ext中用Ext.extend來定義一個類(當(dāng)然它更多用來擴展一個類),Ext整個框架各種控件如Panel,MessageBox等都是用Ext.extend方法來擴展。這里僅僅用它來定義一個最簡單的類。
看Ext.extend的代碼可得知,它仍然是用構(gòu)造函數(shù)和原型來組裝一個類。
這里只需傳兩個參數(shù)即可,第一個參數(shù)是根類Object,第二個是原型。
/**
* Person類
* @param {Object} name
*/
var Person = Ext.extend(Object,{
constructor : function(name) {this.name = name;},
setName : function(name) {this.name = name;},
getName : function() {return this.name;}
});
//創(chuàng)建一個對象
var p = new Person("Lily");
console.log(p.getName());//Lily
p.setName("Andy");
console.log(p.getName());//Andy
//測試instanceof及p.constructor是否正確指向了Person
console.log(p instanceof Person);//true
console.log(p.constructor == Person);//true
比較特殊的是,如果單純的定義一個類,那么第一個參數(shù)永遠(yuǎn)傳Object即可。
這里用的是Ext core3.0,Ext中用Ext.extend來定義一個類(當(dāng)然它更多用來擴展一個類),Ext整個框架各種控件如Panel,MessageBox等都是用Ext.extend方法來擴展。這里僅僅用它來定義一個最簡單的類。
看Ext.extend的代碼可得知,它仍然是用構(gòu)造函數(shù)和原型來組裝一個類。
這里只需傳兩個參數(shù)即可,第一個參數(shù)是根類Object,第二個是原型。
復(fù)制代碼 代碼如下:
/**
* Person類
* @param {Object} name
*/
var Person = Ext.extend(Object,{
constructor : function(name) {this.name = name;},
setName : function(name) {this.name = name;},
getName : function() {return this.name;}
});
//創(chuàng)建一個對象
var p = new Person("Lily");
console.log(p.getName());//Lily
p.setName("Andy");
console.log(p.getName());//Andy
//測試instanceof及p.constructor是否正確指向了Person
console.log(p instanceof Person);//true
console.log(p.constructor == Person);//true
比較特殊的是,如果單純的定義一個類,那么第一個參數(shù)永遠(yuǎn)傳Object即可。
相關(guān)文章
Javascript面向?qū)ο缶幊蹋ㄈ?非構(gòu)造函數(shù)的繼承
這個系列的第一部分介紹了"封裝",第二部分介紹了使用構(gòu)造函數(shù)實現(xiàn)"繼承"。2011-08-08學(xué)習(xí)面向?qū)ο笾嫦驅(qū)ο蟮男g(shù)語
學(xué)習(xí)面向?qū)ο笾嫦驅(qū)ο蟮男g(shù)語,學(xué)習(xí)面向?qū)ο笤O(shè)計的朋友可以參考下。2010-11-11javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài)
javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài) 的實現(xiàn)方法說明,大家可以看下下面的代碼。2009-08-08