欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中實現(xiàn)多態(tài)采用和繼承類似的方法

 更新時間:2014年08月22日 08:58:31   投稿:whsnow  
首先定義一個抽象類,其中調(diào)用一些虛方法,虛方法在抽象類中沒用定義,而是通過其具體的實現(xiàn)類來實現(xiàn)

多態(tài)的實現(xiàn)可以采用和繼承類似的方法。首先定義一個抽象類,其中調(diào)用一些虛方法,虛方法在抽象類中沒用定義,而是通過其具體的實現(xiàn)類來實現(xiàn)。

如下面的例子:

Object.extend=function(destination,source){ 
for(property in source){ 
destination[property]=source[property]; 
} 
return destination; 
} 
//定義一個抽象基類base,無構造函數(shù) 
function base(){}; 

base.prototype={ 
initialize:function(){ 
this.oninit();//調(diào)用了一個虛方法 
} 
} 
function SubClassA(){ 
//構造函數(shù) 
} 
SubClassA.prototype=Object.extend({ 
propInSubClassA:"propInSubClassA", 
oninit:function(){ 
alert(this.propInSubClassA); 
} 
},base.prototype); 

function SubClassB(){ 
//構造函數(shù) 
} 
SubClassB.prototype=Object.extend({ 
propInSubClassB:"propInSubClassB", 
oninit:function(){ 
alert(this.propInSubClassB); 
} 
},base.prototype); 

var objA=new SubClassA(); 
objA.initialize();//輸出"propInSubClassA" 

var objB=new SubClassB(); 
objB.initialize();//輸出"propInSubClassB"

首先定義了一個抽象基類base,在base類的initialize方法中調(diào)用了oninit方法,但是基類中并沒用oninit方法的實現(xiàn)或者聲明。SubClassA和SubClassB類繼承自base類,并且分別采用了不同的方式對oninit方法進行實現(xiàn)。

相關文章

最新評論