Hi Andre,
hi,
ich weiss nicht mehr, wer mir diese Zeilen geschickt hat,
Function.prototype.extend = function(superClass) { this.prototype.__proto__ = superClass.prototype; this.prototype.__constructor__ = superClass; ASSetPropFlags(this.prototype, ["__constructor__"], 1); };
aber die haben mehr in sich, als geplant:
Code zum Vererben von Klassenmethoden an ein Objekt in runtime:
Object.prototype.extend = function( obj ) { for ( var i in obj.prototype ){ this.__proto__[i] = obj.prototype[i]; } }
Denn jede Eigenschaft, die nach der Vererbung einer Klasse an ein Objekt,
dem Objekt zugeschrieben wird, erbt auch (!) die Methoden der
Vererbungsklasse:
SuperClass = function () {} SuperClass.prototype.testMethod = function () {}
testObj = {}; testObj.extend ( SuperClass ); trace ( testObj.testMethod ); testObj.prop = []; trace ( testObj.prop.testMethod ); // [type function]
Hola, jetzt muss ich meinen Code doch noch mal umstricken oder gibt es eine
andere Lösung ?
Wer war der Autor ?
:o)
aM http://www.andre-michelle.com http://public.extrajetzt.de
------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------
------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------