建立介面的三種方式 鴨式辯型介面

2021-07-15 03:02:05 字數 1245 閱讀 4291

/*

定義介面的方式:鴨式辯型,最完美的定義方式

鴨式辯型核心:乙個類實現介面的主要目的:把介面的方法都實現(對所有方法進行檢測)

完全物件物件,**也實現統一,也解耦了

*///一,介面類

//name:介面的名字(string)

//methods:接受方法名稱的集合(陣列形式)

var inte***ce = function(name,methods)

this.name = name;

//定義乙個空陣列物件,存放methods裡的方法

this.methods = ;

for(var i=0, len = methods.length; ithis.methods.push(methods[i]);}}

//二,準備工作

//例項化介面物件

var compositeinte***ce = new inte***ce('compositeinte***ce',['add','remove']);

var formiteminte***ce = new inte***ce('formiteminte***ce',['update','select']);

//具體的實現類

var compositeimpl = function()

compositeimpl.prototype.add = function()

compositeimpl.prototype.remove = function()

compositeimpl.prototype.update = function()

compositeimpl.prototype.select = function()

//三,校驗介面裡的方法

//通過不做任何操作,不通過則丟擲異常

//這個方法的目的,就是檢測方法的

inte***ce.ensureimplements = function(object)

//獲得介面例項物件

for(var i=1, len = arguments.length; i//迴圈介面例項物件裡面的每乙個方法

for(var j=0; j}}}

var com = new compositeimpl();

inte***ce.ensureimplements(com,compositeinte***ce,formiteminte***ce);

com.add();

C 介面的三種實現方式

原文c 介面的三種實現方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 4...

C 介面的三種實現方式

public inte ce myinte ce class myclass myinte ce method2是overridable的實現。簽名如下 method public hidebysig newslot virtual 注意 public virtual public virtual ...

idea 呼叫c 介面 C 介面的三種實現方式

public inte ce myinte ce 下面三個方法的簽名都是 method public hidebysig newslot abstract virtual public virutal abstract void method1 void method2 void method3 c...