Konstruktor
Marco
- javascript
Hallo
Ist es möglich in Javascript eine Art Konstruktor-Methode zu definieren welche jedes Mal beim erstellen einer Instanz aufgerufen wird (z.B. sollte in der Subklasse jedes Mal init() aufgerufen werden wenn ein Objekt erstellt wird)? Dies wäre praktisch um den Code der beim Erstellen der Instanz aufgerufen wird vom restlichen Code einer Methode zu trennen
Namespace.Superklasse = function(variable) {
this.variable = variable;
this.methode = function() {
// Irgendetwas
}
}
Namespace.Superklasse.Subklasse = function(variable) {
this.variable = variable;
function init(); // Funktion die automatisch aufgerufen weden sollte
this.methode = function() {
// Irgendetwas
}
this.methode2 = function() {
// Irgendetwas
}
}
Namespace.Superklasse.Subklasse.prototype = new Namespace.Superklasse;
EinObjekt = new Namespace.Superklasse.Subklasse(); // init() sollte jetz auch aufgerufen werden.
Viele Grüsse
Marco
gruss Marco,
... (z.B. sollte in der Subklasse jedes Mal init() aufgerufen
werden wenn ein Objekt erstellt wird) ...
dann setz es doch einfach so um, wie Du es gerade beschreibst ...
...
EinObjekt = new Namespace.Superklasse.Subklasse(); // init() sollte jetz auch aufgerufen werden.
... z.b. indem Du Deinen [[Subklasse]]-konstruktor vorher auch
dazu befaehigst, solches zu tun:
Namespace.Superklasse.Subklasse = function(variable) {
»»
this.variable = variable;
var init = function () {
// Funktion die automatisch aufgerufen weden sollte
};
//...
// noch mehr code
//...
init(); // z.b. so?
}
so long - peterS. - pseliger@gmx.net
--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - [Douglas Crockford](http://javascript.crockford.com/)
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]
Hallo Peter,
EinObjekt = new Namespace.Superklasse.Subklasse(); // init() sollte jetz auch aufgerufen werden.
... z.b. indem Du Deinen [[Subklasse]]-konstruktor vorher auch
dazu befaehigst, solches zu tun:
Dein Vorschlag leuchtet mir ein und klappt auch wunderbar. Danke.
Gruss Marco