Javascript面向?qū)ο笾?繼承
更新時(shí)間:2011年02月08日 23:11:51 作者:
繼承是面向?qū)ο笾斜炔豢缮俚奶匦裕玧avascript中并沒(méi)有繼承的概念機(jī)制,但我們可以自己來(lái)實(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)文章
javascript 混合的構(gòu)造函數(shù)和原型方式,動(dòng)態(tài)原型方式
JS編程中最常用兩種對(duì)象類定義的方式。不管是利用下面2種方式的那一種,都可以達(dá)到相同的效果!2009-12-12JavaScript 對(duì)象的屬性和方法4種不同的類型
JavaScript里,對(duì)象的屬性和方法支持4種不同的類型,需要的朋友可以參考下。2010-03-03js 面向?qū)ο蟮募夹g(shù)創(chuàng)建高級(jí) Web 應(yīng)用程序
在 C++ 或 C# 中,在談?wù)搶?duì)象時(shí),是指類或結(jié)構(gòu)的實(shí)例。對(duì)象有不同的屬性和方法,具體取決于將它們實(shí)例化的模板(即類)。2010-02-02JavaScript 面向?qū)ο笕腴T精簡(jiǎn)篇
圍繞面向?qū)ο蟮膸状箨P(guān)鍵字:封裝 ,繼承 ,多態(tài) ,展開(kāi)JavaScript面向?qū)ο?/div> 2009-03-03最新評(píng)論