heinetz: Javascript Klasse erweitern usw.

Beitrag lesen

Hallo Forum,

ich möchte eine bestehende JS-Klasse etwas erweitern.

Im Moment sieht das ganze so aus:

  
var myobject = new myclass('element', {  
 a : 'a_val',  
 b : 'a_val'  
});  

Ich kann danach z.B. die Methode 'myobject.func_one()' ausführen oder auf die Eigenschaft 'myobject.prop_one' zugreifen.

Nun habe ich schon herausgefunden, wie ich es schaffe, die Klasse 'myclass' um eine zusätzliche Methode 'func_two' zu erweitern, damit die mir für meine Instanz 'myobject' zur Verfügung steht, ich sie also per 'myobject.func_two()' ausführen kann.

  
myclass.prototype.func_two = function(){  
 //Code  
};  

Aber das reicht mir nicht ;) Ich hätte lieber eine weitere Klasse 'myotherclass', die sämtliche Eigenschaften und Methoden der Klasse 'myclass' und zusätzlich eine Methode 'func_two' enthält, so dass:

  
var myobject = new myclass('element', {  
 a : 'a_val',  
 b : 'a_val'  
});  

... nach wie vor dazu führt, dass ich 'myobject.func_one()' ausführen oder auf die Eigenschaft 'myobject.prop_one' zugreifen kann und:

  
var myotherobject = new myotherclass('element', {  
 a : 'a_val',  
 b : 'a_val'  
});  

... mir ermöglicht 'myotherobject.func_one()' UND 'myotherobject.func_two()' ausführen kann.

Das ist wohl das Prinzip der Vererbung, oder?

Ich habe folgenden Ansatz versucht:

  
myotherclass = function(){  
}  
  
myotherclass.prototype = new myclass();  
myotherclass.prototype.constructor = myotherclass;  
myotherclass.prototype.func_two = function(){  
//Code  
}  

... aber das war's irgendwie nicht. Irgendwie kam es mir auch komisch vor,
denn hier wird ja eine Instanz von myclass angelegt und die erwartet Parameter.

beste gruesse,
heinetz