- //定义一个接口函数
- 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;
- }
- }
- }
- }
时间: 2024-08-27 12:28:00