js中實現多型

2021-06-23 08:22:41 字數 755 閱讀 2388

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

如下面的例子:

object.extend=function(destination,source)

return destination;

}//定義乙個抽象基類base,無建構函式

function base(){};

base.prototype=

}function subclassa()

subclassa.prototype=object.extend(

},base.prototype);

function subclassb()

subclassb.prototype=object.extend(

},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方法進行實現。

JS實現繼承多型

類物件構造模版,無new訪問,類似靜態訪問 var class 模擬抽象方法,可以隨便自己定 show function 模擬繼承extobj擴充套件物件,srcobj源物件 var extend function extobj,srcobj return extobj 動態為object新增ext...

JS如何實現過載和多型

可以理解乙個方法被不同實現後 展現不同的效果及狀態。js本身不支援過載,所以只能通過其他方式實現,arguments檢測傳參的個數,然後再執行不同的方式 function add return sum alert add alert add 1 2 alert add 1 2 3 function ...

C 中的多型及多型的實現

c 中的多型分為靜多型和動多型兩種情況。靜多型是在編譯時就能確定呼叫函式的型別,包括過載和模板。動多型則是需要在執行時才能確定呼叫哪乙個函式。動多型的產生條件是需要在基類的指標指向派生類的物件,並呼叫派生類的函式。而要想呼叫派生類的函式,那麼基類裡這個函式應寫為虛函式。什麼是虛函式?所謂的虛函式就是...