WEB开发网
开发学院网页设计JavaScript Javascript乱弹设计模式系列(0) - 面向对象基础以... 阅读

Javascript乱弹设计模式系列(0) - 面向对象基础以及接口和继承类的实现

 2010-09-14 13:34:25 来源:WEB开发网   
核心提示: function Man(){this.name = "";Interface.registerImplements(this, Person);}Man.prototype.getName = function() {return this.name;};Man.pr

function Man()
{
  this.name = "";
  Interface.registerImplements(this, Person);
}
Man.prototype.getName = function() {
  return this.name;
};
Man.prototype.setName = function(name) {
  this.name = name;
};

看到Man的构造函数里面包含

Interface.registerImplements(this, Person);

它是用来将实例化的this对象继承于Person接口,然后继承类对接口的方法进行实现。

代码看起来是不是很清晰和简单呢,那么现在要开始介绍真正的核心代码Interface.js了:

先看Interface的构造函数部分

unction Interface(name, methods)
{
  if(arguments.length != 2) {
    throw new Error("接口构造函数含" + arguments.length + "个参数, 但需要2个参数.");
  }
  this.name = name;
  this.methods = [];
  if(methods.length < 1) {
    throw new Error("第二个参数为空数组.");
  }
  for(var i = 0, len = methods.length; i < len; i++) {
    if(typeof methods[i][0] !== 'string') {
      throw new Error("接口构造函数第一个参数必须为字符串类型.");
    }
    if(methods[i][1] && typeof methods[i][1] !== 'number') {
      throw new Error("接口构造函数第二个参数必须为整数类型.");
    }
    if(methods[i].length == 1) {
      methods[i][1] = 0;
    }
    this.methods.push(methods[i]);
  }  
};

上一页  1 2 3 4 5 6  下一页

Tags:Javascript 乱弹 设计模式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接