molily: Interne public static member nicht aufrufbar

Beitrag lesen

Hallo,

statt »ich will aber ...!« zu wiederholen, solltest du dir noch einmal zu Gemüte führen, dass OOP in JavaScript ganz anders funktioniert, als du es offenbar von anderen Sprachen gewohnt bist.

Mal von Null angefangen:

1. Es gibt keine Klassen in JavaScript.
2. Es gibt keine Klassendefinitionen à la class Bla { ... } in JavaScript.
3. Es gibt keine Klassenvariablen in JavaScript, es gibt keine »privaten« und keine »statischen« Member.

Damit wird dein Wunsch »ich will aber einen public static member!« zu einem aussagelosen Satz, weil es sowas in JavaScript (erst einmal) nicht gibt. Auf die interessanteste Nachfrage antwortest du leider mit »das steht hier nicht zur Debatte«.

In JavaScript sind Funktionen Objekte. Funktionen können, wenn man sie mit dem »new«-Operator aufruft, als Konstruktoren dienen. Es wird ein neues Object (die »Instanz«) angelegt und die Funktion in dessen Kontext aufgerufen (this zeigt auf das neue Object).

D A S   I S T   A L L E S .

Bis dir dieses Einmaleins in Fleisch und Blut übergegangen ist, solltest du alles andere, was du über OOP aus anderen Sprachen kennst, bei der JavaScript-Programmierung erst einmal vergessen.

Und bevor du auf dieser basalen Ebene nicht mit JavaScript vertraut bist, solltest du auch nicht mit prototype, Vererbung oder Portierungen von bekannten OOP-Features in JavaScript anfangen.

Man kann viele OOP-Pattern auch auf JavaScript übertragen, indem man sie in JavaScript re-implementiert. Das ist aber immer mit Komplexität verbunden und schwer zu verstehen. Deshalb ist es in der Regel gar nicht erstrebenswert, »Java in JavaScript« o.ä. schreiben zu wollen. JavaScript hat andere Fähigkeiten und bietet eigene Möglichkeiten, um Aufgaben zu lösen. Was ist also di Aufgabe?

Mathias

0 45

Interne public static member nicht aufrufbar

felix12
  • javascript
  1. 0
    Cheatah
    1. 0
      felix12
      1. 0
        Cheatah
        1. 0
          felix12
          1. 0
            MudGuard
            1. 0
              felix12
              1. 0
                Struppi
                1. 0
                  Patrick Andrieu
                  1. 1
                    peterS.
                    1. 0
                      Patrick Andrieu
                    2. 0
                      felix12
                2. 1

                  *private static* durch umschliessende anonyme *function stacks*

                  peterS.
                  1. 0
                    felix12
                    1. 0
                      Struppi
                      1. 0
                        felix12
                        1. 2

                          klassenlose vollwertige und flexible oo auf funktionaler basis

                          peterS.
                          1. 0
                            felix12
                            1. 0
                              felix 12
                            2. 0
                              Struppi
                              1. 0
                                felix12
                            3. 1

                              vererbung / delegationsprinzipien

                              peterS.
                              1. 0
                                felixcat
                                1. 1

                                  »[Function].arguments.callee« versus »arguments.callee«

                                  peterS.
                                  1. 0
                                    felix12
      2. 0
        Kai345
        1. 0
          felix12
          1. 0
            ChrisB
            1. 0
              felix12
              1. 0
                Struppi
                1. 0
                  felix12
                  1. 0
                    Struppi
                    1. 0
                      felix12
                      1. 0
                        Struppi
                      2. 1

                        einfache objekte/namensraeume und singleton-konstrukte

                        peterS.
                        1. 0
                          Struppi
              2. 2
                Timo "God's Boss" Reitz
                1. 0
                  felix12
                  1. 0
                    Kai345
                    1. 0
                      felix12
                      1. 0
                        Kai345
                        1. 0
                          Kai345
                          1. 0
                            felix12
                            1. 0
                              Kai345
  2. 4
    molily