[ascoders] Vererbung in runtime

  • From: André Michelle <am@xxxxxxxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Wed, 15 Oct 2003 22:15:13 +0200

hi,

ich weiss nicht mehr, wer mir diese Zeilen geschickt hat, 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
------------------------------------------------------

Other related posts: