niuzai 发表于 2013-1-29 08:51:59

JS实现多重继承

Class = function(){    var classPrototype = arguments || "";for(var i = 0; i < arguments.length - 1 ; i++){var superClass = arguments;if(typeof superClass === "function"){superClass = superClass.prototype;}if(!classPrototype.superClass){classPrototype.superClass = {};}for(var m in superClass){if(superClass.hasOwnProperty(m)){classPrototype.superClass = superClass;}else{classPrototype = superClass;}}}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());
页: [1]
查看完整版本: JS实现多重继承