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