JS 接口定义及实现的例子
2015-11-19 11:08
501 查看
//定义一个函数,目的是将参数中的第二个函数所有属性放到第一个参数中,目的是将接口中所有方法放到实现类中
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"
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"
相关文章推荐
- ResultSet转Json
- js 里的escape() 函数
- 简单分析一个通过 js 劫持进行案例
- 常规功能和模块自定义系统 (cfcmms)—017自定义grid方案(1)
- JS事件监听器
- 关于正则表达式 g,m 参数的总结
- JSON的parse()和stringfy()方法
- js数组操作大全(转)
- Js对象继承小结
- 下拉加载更多DEMO(js实现)
- Ajax初学习
- javascript中checkbox使用方法实例演示
- javascript代码放在jsp页面中的位置总结
- 最小系统加载工具 systemjs
- js旋转图片
- JavaScript中的Math.ceil()、Math.round()、Math.floor()
- 关于Json和Xml的研究之区别
- JavaScript操作Select
- javascript设计简单的秒表计时器
- JSP 的两种包含方式