DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js中實現多態采用和繼承類似的方法
js中實現多態采用和繼承類似的方法
編輯:關於JavaScript     

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

如下面的例子:

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

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

function SubClassB(){ 
//構造函數 
} 
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方法中調用了oninit方法,但是基類中並沒用oninit方法的實現或者聲明。SubClassA和SubClassB類繼承自base類,並且分別采用了不同的方式對oninit方法進行實現。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved