//定义一个接口函数
var Interface = function(interfaceName,interfaceMethods){
if(arguments.length!=2){
alert("Interface expected 2 arguments,one is for Interface Name, and the other is the Array for methods ")
}
this.interfaceName = interfaceName;
this.interfaceMethods = new Array();
for(var i = 0;i < interfaceMethods.length;i++){
if(typeof interfaceMethods[i] !== "string"){
alert("Interface constructor expects each method name to be passed in as a string");
break;
}
this.interfaceMethods.push(interfaceMethods[i])
}
}
//检查对象实现接口函数的情况,可以实现多继承,第二个参数为对象数组
Interface.CheckImplements = function(object,interfaces){
if(arguments.length!=2){
alert("Interface expected 2 arguments,one is for Interface Name, and the other is the Array for methods ")
}
for(var i=0;i,i<interfaces.length;i++){
//alert(interfaces[i])
if(interfaces[i].constructor !== Interface){
alert("the interface expects to be created from Interface")
break;
}
var interface = interfaces[i];
for(var j=0;j<interface.interfaceMethods.length;j++){
method = interface.interfaceMethods[j];
if(!object[method]||(typeof object[method]!="function")){
alert("object for the method '"+method+ " ' is not found for Interface '"+ interface.interfaceName+ " '")
break;
}
}
}
}
分享到:
相关推荐
5.6.3 提供一种复制和比较对象的方法 73 5.6.4 让作用域尽可能小 73 5.6.5 类应当对自己负责 74 5.7 设计时充分考虑可维护性 75 5.7.1 使用迭代 76 5.7.2 测试接口 76 5.8 使用对象持久性 78 5.9 小结 79 ...
13 种最流行的面向对象设计模式应用于 Node.js。 安装 该项目使用Node.js运行。 为您的平台Node.js 源代码或预构建的安装程序 用法 下载或克隆存储库。 每个文件夹都有一个模式的工作示例。 访问选择的模式并运行...
在计算机科学中,基于流的编程(FBP)是一种编程范例,将应用程序定义为“黑匣子”进程的网络,该进程通过消息传递在预定义的连接之间交换数据,其中连接是在进程外部指定的。 这些黑匣子进程可以无限地重新连接以...
1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否通过? 8 6、short ...
第2章给了我们基本语法概念,第3章告诉我们如何以一种每个XML编程者都能够理解的方式正规地定义XML词汇表。这些章节提供了理解和使用XML所必需的最基本内容。第4章(关于数据建模)在创建良好的XML结构方面为读者...
第三章:面向对象的程序设计 31 学习目标 31 类和对象的描述 32 声明类 32 声明属性 33 声明成员方法 34 源文件的布局 36 包的声明 36 包与目录的布局 38 内容总结 45 独立实践 46 第四章: Java语法基础 47 学习...
1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否通过? 8 6、short ...
.NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 ...
9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽...
9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽...
\ 第11章 事件机制 李立夏介绍了Qt的事件处理模型,详细介绍了在Qt程序设计中处理事件的五种方法,并讨论了如何利用Qt事件机制加快用户界面响应速度。 283 \ 第12章 数据库 李立夏介绍了Qt的数据库处理,重点介绍了...
9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽...
JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接...
2.4.1 调试页面中的javascript脚本(方法一) 22 .2.4.2 调试页面中的javascript脚本(方法二) 23 2.4.3 调试非嵌入式javascript脚本文件 23 2.4.4 调试嵌入式javascript脚本资源文件 24 2.4.5 高效率调试的...
9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽...
QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和手写代码两种方法实现了...