js模擬實現多型效果程式碼例項

螞蟻小編發表於2017-03-27

本章節分享一段程式碼例項,它模擬實現了多型效果。

儘管javascript是一門物件導向的語言,但是它並沒有多型效果,只能夠通過模擬實現。

程式碼如下:

[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(){ 
    console.log(this.propInSubClassA); 
  } 
},base.prototype); 
 
function SubClassB(){ 
//建構函式 
} 
SubClassB.prototype=Object.extend({ 
  propInSubClassB:"propInSubClassB", 
  oninit:function(){ 
    console.log(this.propInSubClassB); 
  } 
},base.prototype); 
 
var objA=new SubClassA(); 
objA.initialize();
 
var objB=new SubClassB(); 
objB.initialize();

上面你的程式碼模擬實現了物件導向的多型效果。

可能有很多朋友對於多型並不瞭解,這個可以自行百度,這裡不多介紹。

相關文章