[ascoders] Re: Vererbung in runtime

  • From: Volker Kreß <kress@xxxxxxxxxx>
  • To: ascoders@xxxxxxxxxxxxx
  • Date: Fri, 17 Oct 2003 00:16:32 +0200

Hi Andre,

hi,

ich weiss nicht mehr, wer mir diese Zeilen geschickt hat,

war von mir, versuch mal das


Function.prototype.extend = function(superClass) {
        this.prototype.__proto__ = superClass.prototype;
        this.prototype.__constructor__ = superClass;
        ASSetPropFlags(this.prototype, ["__constructor__"], 1);
};

ASSetPropFlags(Function.prototype, ["extend"], 1);

kommt von www.quantumwave.com

Volker


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 ------------------------------------------------------

Other related posts: