Um in JavaScript, einer nicht unbedingt klassenbasierten Sprache eine Klasse mit “echten” privaten Methoden oder Attributen zu erstellen ist daher nicht Möglich. Aufgrund der prototypischen Beschaffenheit der Sprache lässt sich allerdings vieles aus einer klassichen klassenbasierten Sprache “nachbauen”.
Um eine Klasse mit öffentlichen (public) und privaten (private) Methoden oder Attributen zu erstellen können wir das Konzept der Closures verwenden.
var MyClass = (function() { var privateAttribute = "Hello World, I'am private"; // Private Methods function privateMethod1(str) { return str; } function privateMethod2(str) { return str; } // Rückgabe eines Objektliterals return { var publicAttribute = "Hello World, I'am a public"; // Public Methods publicMethod1: function (str) { return str; }, publicMethod2: function (str) { return str; } }; })();
0 Comments