[ascoders] Re: Klasseneigenschaften und -methoden in runtime weitergeben

Hallo Andre
ja hab ich ich machs halt nur so

Object.prototype.extend = function(obj){
        for (var i  in obj.prototype){
                this.__proto__[i] = obj.prototype[i]
                
        }
}
        
        
classA = function(){}


classA.prototype.methodA = function(){ trace("methodA") } classA.prototype.methodAA = function(){ trace("methodAA") }


ClassB = function(){}


ClassB.prototype.methodB = function(){
                trace("methodB")
        }
        
lala = new ClassB();


lala.extend(ClassA)


lala.methodA()
lala.methodAA()
lala.methodB();

Grüße
Volker



Am Mittwoch, 24.09.03 um 18:20 Uhr schrieb André Michelle:

hi,


altes problem, neuer Ansatz.
Gegeben ist ein IsoSprite, was von der IsoSprites Klasse abgeleitet ist.
Jetzt habe ich eine TileMapCharacter Klasse, die Methoden zur Verfügung
stellt, die ich gerne an das IsoSprite Objekt weiterleiten würde.
Mein Ansatz:


TileMapCharacter = function () {};
o = TileMapCharacter;
o.extends = function ( obj ) { for ( var i in this ) { obj[i] = this[i]; };
return obj };
//- weitere Methoden: getter,setter und move functions


Eingesetzt:
var Player = new IsoSprite( GameIso , "player" );
TileMapCharacter.extends( Player );

Funktioniert wunderbar und kommt meinem Denken am nächsten :o)
Es würde für mich keinen Sinn machen, dass alle IsoSprites von der
TileMapCharacter Klasse erben, da sie sich mit Sicherheit in der Anwendung
unterschiedlich verhalten, also kommt ein einfaches:
IsoSprite.prototype = new TileMapCharacter();
nicht in Frage.


Ich wollte nur mal nachhorchen, ob jemand Erfahrungswerte mit solchen
Workarounds hat.

aM
http://www.andre-michelle.com
http://public.extrajetzt.de

------------------------------------------------------
Archiv   : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------

Mit freundlichen Grüßen aus Wuppertal

Volker Kreß

/------------------------------------------------
uscreen gmbh
Volker Kreß
Tel. 0202.244988-20
Fax. 0202.244988-11
www.uscreen.de
kress@uscreen

/-----------------------------------------------
/ T E S T E N  S I E  S I T E F R U I T
/------------------------------------------------
http://asp.siteFruit.net
Login: demo
Passwort: demo
-----------------------------------------------/

------------------------------------------------------
Archiv   : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: