molily: Speicherplatz von "Methoden" in JavaScript

Beitrag lesen

Hallo,

Wenn ich die Methoden erst danach hinzufüge:
ist "meineInstanz" zum Zeitpunkt der Erzeugung noch "nackt".

Wieso sollte man auch so vorgehen, das ist m.E. nicht die gängige Praxis und auch nicht nötig. Üblicherweise werden die »Klassen«-Definitionen zentral ausgelagert, die Instantiierung erfolgt erst danach. Natürlich kann man jederzeit ausgehend von einer Instanz prototypische Erweiterungen vornehmen, aber der Sinn von OOP ist gerade diese Trennung auf Codebasis.

  • Formale Deklaration
    -- Konstruktorfunktion definieren.
    -- Eigenschaften und Methoden dem Konstruktor prototypisch hinzufügen.

  • Konkrete Instantiierung mit gewissen Parametern/Eigenschaften

  
function K () { ... }  
K.prototype = {  
 methode : function () {  
  alert("Hallo Welt!");  
 }  
 /* und weitere Eigenschaften/Methoden */  
};  
  
/* an anderer Stelle: */  
var instanz = new K;  
instanz.methode();  

Mathias