JS 接口定义及实现的例子

//定义一个函数,目的是将参数中的第二个函数所有属性放到第一个参数中,目的是将接口中所有方法放到实现类中

Object.extend=function(destination,source){

for(property in source){

destination[property]=source[property];

}

return destination;

}

//定义一个抽象基类base,无构造函数

function base(){};

//定义一个借口base,base中有一个initialize方法,需要各个实现类来实现

base.prototype={

initialize:function(){

this.oninit();//调用了一个虚方法,后面的实现函数中需要实现此方法

}

}

//实现类一

function SubClassA(){

//构造函数

}

//调用绑定函数Object.extend将base的prototype中需要实现的接口放到匿名对象propInSubClassA中

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"

posted @ 2015-11-19 11:08  哥的头像很别致~  阅读(777)  评论(0编辑  收藏  举报