六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 109|回复: 0

JS实现多重继承

[复制链接]

升级  16%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
8
 楼主| 发表于 2013-1-29 08:51:59 | 显示全部楼层 |阅读模式
Class = function(){    var classPrototype = arguments[arguments.length - 1] || "";for(var i = 0; i < arguments.length - 1 ; i++){var superClass = arguments[i];if(typeof superClass === "function"){superClass = superClass.prototype;}if(!classPrototype.superClass){classPrototype.superClass = {};}for(var m in superClass){if(superClass.hasOwnProperty(m)){classPrototype.superClass[m] = superClass[m];}else{classPrototype[m] = superClass[m];}}}var currentClass = function(){if(this.initialize){this.initialize.call(this , arguments);}};currentClass.prototype = classPrototype;        return currentClass;};    var A = Class({width : "A width",getWidth : function(){return "A getWidth";}});var B = Class(A,{height : "B height",getHeight : function(){return "B getWidth";},width : 'B width'});var C = Class(A, B , {width: 'C width',size : 'C size',getHeight : function(){return "C getHeight";}});var b = new B();//alert(b.width);//alert(b.height);//alert(b.superClass.getWidth());var c = new C();alert(c.superClass.width);alert(c.size);alert(c.superClass.getHeight());
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表