最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript 面向?qū)ο罄^承

 更新時間:2009年11月26日 00:45:18   作者:  
javascript 面向?qū)ο罄^承,需要的朋友可以參考下。
在prototype框架中的類繼承實(shí)現(xiàn)機(jī)制
復(fù)制代碼 代碼如下:

//為Object類添加靜態(tài)方法:extend
Object.extend = function(destination, source) {
for(property in source) {
destination[property] = source[property];
}
return destination;
}
//通過Object類為每個對象添加方法extend
Object.prototype.extend = function(object) {
return Object.extend.apply(this, [this, object]);
}

Object.extend方法很容易理解,它是Object類的一個靜態(tài)方法,用于將參數(shù)中source的所有屬性都賦值到destination對象中,并返回destination的引用。下面解釋一下Object.prototype.extend的實(shí)現(xiàn),因?yàn)镺bject是所有對象的基類,所以這里是為所有的對象都添加一個extend方法,函數(shù)體中的語句如下:
Object.extend.apply(this,[this,object]);
這一句是將Object類的靜態(tài)方法作為對象的方法運(yùn)行,第一個參數(shù)this是指向?qū)ο髮?shí)例自身;第二個參數(shù)是一個數(shù)組,包括兩個元素:對象本身和傳進(jìn)來的對象參數(shù)object。函數(shù)功能是將參數(shù)對象object的所有屬性和方法賦值給調(diào)用該方法的對象自身,并返回自身的引用。有了這個方法,下面看類繼承的實(shí)現(xiàn):
復(fù)制代碼 代碼如下:

<script language="JavaScript" type="text/javascript">
<!--
//定義extend方法
Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}
Object.prototype.extend = function(object) {
return Object.extend.apply(this, [this, object]);
}
//定義class1
function class1(){
//構(gòu)造函數(shù)
}
//定義類class1的成員
class1.prototype={
method:function(){
alert("class1");
},
method2:function(){
alert("method2");
}

}
//定義class2
function class2(){
//構(gòu)造函數(shù)
}
//讓class2繼承于class1并定義新成員
class2.prototype=(new class1()).extend({
method:function(){
alert("class2");
}
});

//創(chuàng)建兩個實(shí)例
var obj1=new class1();
var obj2=new class2();
//試驗(yàn)obj1和obj2的方法
obj1.method();
obj2.method();
obj1.method2();
obj2.method2();
//-->
</script>

從運(yùn)行結(jié)果可以看出,繼承被正確的實(shí)現(xiàn)了,而且派生類的額外成員也可以以列表的形式加以定義.

相關(guān)文章

最新評論

南木林县| 平阳县| 西乌| 汝城县| 灵石县| 东台市| 阜新市| 措勤县| 昌邑市| 嵊泗县| 株洲市| 桓台县| 徐水县| 仁寿县| 阿克| 林甸县| 宽城| 房山区| 罗田县| 六枝特区| 沾化县| 濮阳市| 余庆县| 曲松县| 宜春市| 浦北县| 阿图什市| 泽普县| 台湾省| 广宗县| 双牌县| 金塔县| 古蔺县| 龙里县| 榆社县| 甘孜| 龙川县| 兴宁市| 龙游县| 靖宇县| 油尖旺区|