imported>qa22ahj |
imported>qa22ahj |
| Line 1: |
Line 1: |
| ---- | | ---- |
| == 소스코드 == | | == 소스코드 == |
| `
| | |
| /**
| |
| * @author Blue Mir
| |
| */
| |
| Function.prototype.extend = function(superclass)
| |
| {
| |
|
| |
| if(this.prototype.superclass)
| |
| throw new SyntaxError("이미 superclass를 가지고 있습니다.");
| |
|
| |
| var proto = new superclass();
| |
|
| |
| for(var p in proto)
| |
| {
| |
| if(proto.hasOwnProperty(p)) delete proto[p];
| |
| }
| |
|
| |
| proto.constructor = this;
| |
| proto.superclass = superclass;
| |
|
| |
| this.prototype = proto;
| |
|
| |
| return this;
| |
| };
| |
| Function.prototype.implement = function()
| |
| {
| |
| for(var i = 0; i < arguments.length; i++)
| |
| {
| |
| var implementClass = arguments[i];
| |
|
| |
| for(var p in implementClass.prototype)
| |
| {
| |
| var fn = implementClass.prototype[p];
| |
| if(typeof fn == "function")
| |
| {
| |
| this.prototype[p] = fn;
| |
| }
| |
| }
| |
| }
| |
| return this;
| |
| };
| |
| `
| |
| ---- | | ---- |
|
| |
|