Methode erweitern

abla

Mitglied
Hallo,

ich habe ein kleines Problem mit einer Methode die ich gerne erweitern möchte.
Leider weis ich nicht ob das überhabt geht.

Ich habe eine Klasse in der eine Methode steckt.
Code:
function xxx ()
{
  this.met = function(){ alert("info1"); }
}
var a = new xxx();
a.met();

nun möchte ich diese Methode "met" von außen erweitern so das wenn ich
a.met() aufrufen z.B. alert("info1"); alert("info2"); ausgeführt werden.

Ich hoffe ich habe mich versändlich ausgedrückt.
Danke für die Hilfe.
 
Hi,

wenn du die Methode überschreiben möchtest, nachdem das Objekt instanziiert wurde, ist das kein Problem.

Beispiel:
Code:
function xxx(){
  this.met = function(){ alert("info1"); }
}

xxx.prototype.erweitern = function(strFunc, funcNew){
  var funcHelp = this[strFunc];
  delete this[strFunc];
  this[strFunc] = function(){
    funcHelp();
    funcNew();
  };
};

function fnNeu(strName){
	alert(strName);
}

var a = new xxx();
a.polymorph("met", function(){fnNeu('Neue Funktion');});
a.met();
Eine Möglichkeit, Methoden in JS zu überladen, ist mir derzeit nicht bekannt.

Ciao
Quaese
 

Neue Beiträge

Zurück