Javascript 面向对象编程定义接口的一种方法

  1. //定义一个接口函数
  2. var Interface = function(interfaceName,interfaceMethods){
  3. if(arguments.length!=2){
  4. alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
  5. }
  6. this.interfaceName = interfaceName;
  7. this.interfaceMethods = new Array();
  8. for(var i = 0;i < interfaceMethods.length;i++){
  9. if(typeof interfaceMethods[i] !== "string"){
  10. alert("Interface constructor expects each method name to be passed in as a string");
  11. break;
  12. }
  13. this.interfaceMethods.push(interfaceMethods[i])
  14. }
  15. }
  16. //检查对象实现接口函数的情况,可以实现多继承,第二个参数为对象数组
  17. Interface.CheckImplements = function(object,interfaces){
  18. if(arguments.length!=2){
  19. alert("Interface expected  2 arguments,one is for Interface Name, and the other is the Array for methods ")
  20. }
  21. for(var i=0;i,i<interfaces.length;i++){
  22. //alert(interfaces[i])
  23. if(interfaces[i].constructor !== Interface){
  24. alert("the interface expects to be created from Interface")
  25. break;
  26. }
  27. var interface = interfaces[i];
  28. for(var j=0;j<interface.interfaceMethods.length;j++){
  29. method = interface.interfaceMethods[j];
  30. if(!object[method]||(typeof object[method]!="function")){
  31. alert("object for the method ‘"+method+ " ‘ is not found for Interface ‘"+ interface.interfaceName+ " ‘")
  32. break;
  33. }
  34. }
  35. }
  36. }
时间: 2024-08-27 12:28:00

Javascript 面向对象编程定义接口的一种方法的相关文章

dll编程导出接口的两种方法

前言: 在vc中到处dll有两种方法: 第一种:是通过模块定义def文件,把要导出的函数接口放在里面,而def文件为链接器提供有关程序的到处,属性等方面的信息. 第二种:在函数声明中加上__declspec(dllexport): 第一种方法示例: 先构建一个名为:mousehook_dll的dll项目: 在hookLoad.h种声明两个接口函数: #pragma once BOOL StartHookEv(HWND hWnd); VOID StopHookEv(void) ; 在hookLoa

JavaScript面向对象之实现继承的5种方法

1 <html> 2 <head></head> 3 <body> 4 <script type="text/javascript"> 5 6 /* 7 以下为文档原话: 8 ECMAScript实现继承的方式不止一种. 9 这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的.这意味着所有的继承细节并非完全由解释程序处理. 10 作为开发者,你有权决定最适用的继承方式. 11 12 13 在Jav

javascript函数 (二 定义函数的三种方法)

javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量 <html><head></head><body> <script type="text/javascript"> /*javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量.*/ /*1.正常方法 function(param){}*/ function print(msg) { document.writ

Javascript 面向对象编程(一):封装

学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握. 下面就是我的学习笔记,希望对大家学习这个部分有所帮助.我主要参考了以下两本书籍: <面向对象的Javascript>(Object-Oriented JavaScript) <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd

再谈javascript面向对象编程

前言:虽有陈皓<Javascript 面向对象编程>珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力.另外这篇文章是一篇入门文章,我也是才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正 吐槽Javascript 初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适,这种不适来自于Javascript的语法的简练和不严谨,这种不适也 来自Javascript这个悲催的名称,

JavaScript 面向对象编程

写的项目需要把js封装处理,不然很乱..然后就想到前端大神阮一峰了,去blog搜索一下果然有收获 参考文章: Javascript定义类(class)的三种方法 Javascript 面向对象编程(一):封装 此处使用极简主义法: 如何定义一个类: 此法是定义一个生成器以及构造函数(类似工厂模式吧) var Cat = { createNew: function(){ var cat = {}; cat.name = "大毛"; cat.makeSound = function(){

【转】Javascript 面向对象编程(一):封装

原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html Javascript 面向对象编程(一):封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"(property)和"

C++ Primer 学习笔记_66_面向对象编程 -定义基类跟派生类[续]

面向对象编程 --定义基类和派生类[续] 四.virtual与其他成员函数 C++中的函数调用默认不使用动态绑定.要触发动态绑定,必须满足两个条件: 1)只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定. 2)必须通过基类类型的引用或指针进行函数调用. 1.从派生类到基类的转换 因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分可以用指向基类的指针指向派生类对象: void print_total(const Item_

Javascript 面向对象编程:封装

学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握. ============================ Javascript 面向对象编程(一):封装 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"