4.11.2007

Objektorientiertes Javascript – wenn es sowas gibt

Allgemein und Beispiel

Um ein wenig Ordnung in den Javascriptdschungel zu bekommen, lohnt es sich, gemeinsamen Code in einer Funktion zu kapseln. Somit lassen sich die Dateien gut in andere Projekte eingliedern und wiederverwenden. Das folgende Beispiel zeigt die Inkarnation von Klassen in Javascript:

  1. var BLKlassenname = function()
  2. {
  3. this.intPublicValue = 10;
  4. var strPrivateText = "Mich siehst Du nicht...";
  5.  
  6. this.publicFunction = function()
  7. {
  8. try
  9. {
  10. var dblDaumen = this.intPublicValue * 1.33;
  11. alert(Math.round(Math.PI * dblDaumen));
  12. }
  13. catch (e) {}
  14. };
  15.  
  16. privateFunction = function()
  17. {
  18. /* ... */
  19. }
  20. };
  21.  
  22. var objBLKlassenname = new BLKlassenname();
  23.  
  24. /// Erlaubte Aktionen
  25. objBLKlassenname.publicFunction();
  26. var x = objBLKlassenname.intPublicValue;
  27.  
  28. /// Illegale Aktionen
  29. objBLKlassenname.privateFunction();
  30. var y = objBLKlassenname.strPrivateText;

Erstaunlicher Weise sind die nicht-öffentlichen Eigenschaften des Objektes wirklich versteckt:
Debuggingbeispiel der Kapselung eines Javascriptobjektes mit Firebug

Kommentare

Sehr schön mal ein Beispiel für den Spaß, in JS zu bekommen.

Hinterlasse einen Kommentar

Dein Kommentar:

Kategorien