javascript面向对象编程代码_Javascript教程-查字典教程网
javascript面向对象编程代码
javascript面向对象编程代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:varorchard=function(){//基类型构造函数代理静态方法都在代理函数上this.constructor&...

复制代码 代码如下:

var orchard = function (){ //基类型构造函数代理 静态方法都在代理函数上

this.constructor && this.constructor.apply(this,arguments);

};

orchard.extend = function() {

var parentObj = this;

var parameters = parentObj.parameters ?

parentObj.parameters.concat(_.toArray(arguments)) : _.toArray(arguments);

var thisObj = function(){ //继承类型构造函数代理

var newparameters = parameters.concat(_.toArray(arguments));

this.constructor && this.constructor.apply(this,newparameters);

};

_.extend(thisObj,parentObj);

_.extend(thisObj.prototype,parentObj.prototype);

thisObj.parameters = parameters;

thisObj.base = thisObj.prototype.base = parentObj; //基类型的代理函数

thisObj.supper = thisObj.prototype.supper = parentObj.prototype; //基类型的构造函数 类成员都在构造函数上

return thisObj;

};

orchard.define = function(object){

if(typeof object === "undefined") object = {constructor: function(){}};

this.prototype = object.constructor;

this.prototype.constructor = this.prototype;

for(var name in this.base)

if(typeof this[name] === "undefined")

this[name] = this.base[name];

for(var name in this.supper)

if(typeof this.prototype[name] === "undefined")

this.prototype[name] = this.supper[name];

for(var i = 0; i < arguments.length; i++)

_.extend(this.prototype,arguments[i]);

this.prototype.base = this.base;

this.prototype.supper = this.supper;

this.supper = undefined;

delete this.supper;

return this;

};

orchard.definenew = function(){

var newclass = this.extend();

return define.apply(newclass,arguments);

};

调用:

复制代码 代码如下:

var Person = orchard.definenew({

constructor: function(name){

this.name = name;

},

say: function(){ return "Hello, i'm " + name;}

});

var aBen = Person.extend("aBen");

aBen.define({

constructor: function(){

this.supper.apply(this,arguments);

}

});

var aben = new aBen();

alert(aben.say());

思路就是这样的,代码没验证过。分享的思路,大家自己看着办。哈哈~~

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类