Javascript面向?qū)ο笾?繼承
更新時(shí)間:2011年02月08日 23:11:51 作者:
繼承是面向?qū)ο笾斜炔豢缮俚奶匦?,但javascript中并沒有繼承的概念機(jī)制,但我們可以自己來實(shí)現(xiàn)這種功能。
復(fù)制代碼 代碼如下:
var JsObject = {} || new Object();
JsObject.extend = function(subClass, superClass){
//先判斷子類subClass是否已經(jīng)定義,如果未定義,則重新定義類。
if(typeof subClass == "undefined")subClass = function(){};
//如果父類superClass是類,則轉(zhuǎn)化成對(duì)象
if(typeof superClass == "function")superClass = new superClass();
//遍歷父類superClass對(duì)象中的屬性和方法
for(var p in superClass)
{
/*將父類superClass對(duì)象中的屬性和方法復(fù)制到子類prototype對(duì)象中,
因此子類擁有父類的所有特性,即為繼承 */
subClass.prototype[p] = superClass[p];
}
return subClass;
};
function Student()
{
this.name = "張三";
this.updateName = function(name){
this.name = name;
}
}
function Class1()
{
this.sex = "男";
this.updateSex = function(sex){
this.sex = sex;
}
}
//定義類Class1繼承Student類
Class1 = JsObject.extend(Class1, Student);
var obj = new Class1();
alert(obj.sex);
alert(obj.name);
obj.updateSex("女");
obj.updateName("瑪麗");
alert(obj.sex);
alert(obj.name);
結(jié)果顯示:男,張三,女,瑪麗
相關(guān)文章
關(guān)于javascript function對(duì)象那些迷惑分析
關(guān)于javascript function對(duì)象那些迷惑分析,學(xué)習(xí)js面向?qū)ο蟮呐笥芽梢詤⒖枷隆?/div> 2011-10-10
JavaScript定義類或函數(shù)的幾種方式小結(jié)
js中不論是定義類或者函數(shù),很多朋友想將代碼寫的更專業(yè),更方便擴(kuò)展等,那么就可以參考這篇文章了,最好是總結(jié),建議大家收藏下。
2011-01-01
面向?qū)ο蟮木幊趟枷朐趈avascript中的運(yùn)用上部
對(duì)于正在從事或者打算從事編程的人來說,面向?qū)ο笫且粋€(gè)耳熟能詳?shù)脑~,幾乎每一個(gè)人都能列舉出一些面向?qū)ο蟮木幊陶Z言,例如C++,JAVA,C#等等。
2009-11-11
最簡單的javascript對(duì)象實(shí)例代碼
非常簡單的js面向?qū)ο髮?shí)例代碼,主要是利用了this,對(duì)于js面向?qū)ο蟮膶W(xué)習(xí)資料,可以查看腳本之家以前的文章。
2009-12-12
JavaScript為對(duì)象原型prototype添加屬性的兩種方式
為對(duì)象原型prototype添加屬性的的方法, 需要的朋友可以參考下。
2010-08-08 
