Hallo!
Bin ziemlich neu in js (komme von java/c++), daher bitte um nachsicht bei den Sachen, die ich schreibe ^^
Ich möchte, dass eine Klasse B alle Methoden und Variablen von Klasse A erbt. Das passiert bei mir mit A.call(this). Das ist genau dass, was ich für die Ableitung brauche. Jetzt möchte ich aber in der toString-Methode von B die toString-Methode von der Basisklasse A aufrufen.
Ich habe schon einige Stunden gegoogelt und einfach nirgends die passende Lösung gefunden. Es kann natürlich auch sein, dass es so nicht geht (ich hoffe aber doch ^^). Aja, hier mein Code um es noch besser zu erklären:
Die Ausgabe, die ich erreichen will, ist dann:
BA 0 ?= 0
BA 1 ?= 1
Danke schonmal im Vorraus!
PS: Das Beispiel ist stark vereinfacht, sollte jedoch das Problem gut darstellen.
Bin ziemlich neu in js (komme von java/c++), daher bitte um nachsicht bei den Sachen, die ich schreibe ^^
Ich möchte, dass eine Klasse B alle Methoden und Variablen von Klasse A erbt. Das passiert bei mir mit A.call(this). Das ist genau dass, was ich für die Ableitung brauche. Jetzt möchte ich aber in der toString-Methode von B die toString-Methode von der Basisklasse A aufrufen.
Ich habe schon einige Stunden gegoogelt und einfach nirgends die passende Lösung gefunden. Es kann natürlich auch sein, dass es so nicht geht (ich hoffe aber doch ^^). Aja, hier mein Code um es noch besser zu erklären:
Code:
counter = 0;
function A() {
var index = counter++;
this.getIndex = function() {
return index;
}
this.toString = function() {
return "A: " + index;
}
}
function B() {
A.call(this);
this.toString = function() {
return "B" + *A.toString()*; // hier sollte toString von A aufgerufen werden.
}
}
var b1 = new B();
var b2 = new B();
document.write(b1 + " ?= " + b1.getIndex() + "<br>");
document.write(b2 + " ?= " + b2.getIndex() + "<br>");
Die Ausgabe, die ich erreichen will, ist dann:
BA 0 ?= 0
BA 1 ?= 1
Danke schonmal im Vorraus!
PS: Das Beispiel ist stark vereinfacht, sollte jedoch das Problem gut darstellen.