Sichtbarkeit von Konstanten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sichtbarkeit von Konstanten

    Servus allerseits,

    ich hab ein Problem mit der Sichtbarkeit von Konstanten in einer Klasse.

    class DieKlasse {

    private const dieKonstante = 0;

    ....
    Konstruktor
    ....
    Funktionen usw.
    ....

    }

    Ich möchte halt nicht, dass man von außen auf die Konstante zugreifen kann,
    aber obiges Beispiel funktioniert leider nicht.

    Habt ihr ne Idee, wie ich das anstellen könnte?

    Gruß
    Chrono

  • #2
    private + von außen?

    das geht wohl nicht!
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Das ja genau mein Problem, ohne private kann man von außen auf die Konstante zugreifen.
      Ich möchte aber Klassen-Konstanten deklarieren, auf die nicht von außen zugegriffen werden kann.

      Kommentar


      • #4
        Klassenkonstanten kann man halt nicht in ihrer Sichtbarkeit einschränken.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Wie wäre es den damit?
          Code:
          class ClassName {
              private static $KONSTANTE = 0;
          }
          Das ist zwar so gesehen keine Konstante, aber der Zugriff ist "private". Wenn man sich nun innerhalb der Klasse daran hält, den Wert nicht mehr zu verändern, hat man im Prinzip seine Konstante. Leider gibt es in PHP noch kein "final"-Modifizierer für "Variablen" (wie in Java). Aber btw. wer unbedingt Zugriffs-Regeln für Felder bzw. Methoden braucht, der sollte sich mal anschauen was JSP und Servlets ausserdem sonst noch so alles können (z.B. Typsichere Methoden usw.) und sich weniger mit Script-Sprachen rumärgern, wo ohnehin jeder Hinz und Kunz drin rumpfuschen kann.

          mfg. C. Monroe
          Zuletzt geändert von Charles Monroe; 04.08.2008, 07:52.

          Kommentar


          • #6
            PHP erhebt auch nicht den Anspruch, eine objektorientierte Sprache zu sein. Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Original geschrieben von unset
              PHP erhebt auch nicht den Anspruch, eine objektorientierte Sprache zu sein. Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
              Hm ... als reine jsp-Apps ist Java doch nicht lahm, da alles vom Server kommt, aber sobald man Applets einsetzt ist wiederum von Client-Leistung abhängig. Ich setze daher selten Applets ein

              Kommentar


              • #8
                Da ist PHP ja noch ein Sportwagen gegen
                Kommt imho schwer darauf an was man damit machen will Es gibt Dinge die gehen mit PHP gar nicht mehr...
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Das sind dann aber auch Sachen, die will ich gar nicht in meinem Browser haben

                  Aber Geschmackssache. Ich finde nur dieses ewig langweilige Bashing ätzend
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Kommentar


                  • #10
                    Original geschrieben von unset
                    Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
                    Sorry?... Von welcher Java Version reden wir hier? 1.0?...

                    Tatsache ist doch, das die meisten, die von Java im Zusammenhang mit Performance reden, eigentlich nur vom "hören-sagen" den Java-C++-Vergleich im Kopf haben (wo Java natürlich abstinkt). Und wenn ich nun meinem Tomcat6 mit einer 1.6 Liter Maschine (JDK) sitze, sieht es für mich so aus als fährt dein "Sportwagen" rückwärts. Willst mir doch wohl nicht wirklich erzählen, das eine Interpreter-Sprache, die obendrein für jede Anfrage einen eigenen Prozess startet, in welchem die gleichen Variablen erneut Speicher verschwenden, performanter ist. Ich mach mich da mal schlau z.B. hier.
                    Das PHP schneller als CGI und Perl ist wissen wir nun... Aber schneller als JSP und Servlets? KEINE CHANCE. Man muss sich halt mit befassen um es zu verstehen.

                    Ich fürchte wir weichen vom Thema ab. Back to Topic

                    mfg
                    C. Monroe
                    Zuletzt geändert von Charles Monroe; 04.08.2008, 11:34.

                    Kommentar


                    • #11
                      Willst mir doch wohl nicht wirklich erzählen, das eine Interpreter-Sprache,
                      Na Java ist aber auch irgendwie eine Interpreter Sprache. Die JRE ist der Interpreter. Zur Performance-Steigerung wird der Quellcode einfach in ByteCode umgewandelt, aber dieser wird dann interpretiert und sicherlich nicht direkt von der Hardware ausgeführt (wie z.B. bei C++)
                      EDIT:

                      Dein Doppel Post habe ich gelöscht

                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Viele Java Applikationen starten recht lahm, was sich dann zügig bessert, wenn aller ByteCode am JIT(Just in Time Compiler) vorbeigekommen ist.
                        Wir werden alle sterben

                        Kommentar


                        • #13
                          Viele Java Applikationen starten recht lahm, was sich dann zügig bessert, wenn aller ByteCode am JIT(Just in Time Compiler) vorbeigekommen ist.
                          Das ist der klare Vorteil von Java. Aber mit entsprechenden Erweiterungen kannst du auch den ByteCode von PHP cachen und so einiges an Geschwindigkeit rausholen.

                          Kommentar


                          • #14
                            Original geschrieben von jahlives
                            Na Java ist aber auch irgendwie eine Interpreter Sprache. Die JRE ist der Interpreter
                            Richtig... Aber wirklich nur irgendwie... Der Unterschied zu einem Interpreter ist jedoch der, das beim JIT-C der Präprozessor entfällt. Ein Interpreter parsed ein Script, und das pro Aufruf, in mindestens zwei Schritten (Syntax, Logik) bevor es zur Ausführung kommt. Diese und noch einige andere Tatsachen (Beschreibungen sprengen definitiv den Rahmen des Threads) machen Servlets in der Geschwindigkeit von Web-Applikationen nahezu "unschlagbar". Nahezu? Naja... Einerseits: Ich kenne bisher nichts, was an die Geschwindigkeit von Servlets (wir reden hier nicht von Applets!) rankommt. Andererseits: Ich habe mich noch nicht mit aspx (.NET-Framework) befasst.

                            Back to Topic... (hätt ich blos nicht mit JSP angefangen...)

                            mfg
                            C. Monroe

                            EDIT:
                            PN an den Moderator fällt für mich irgendwie aus: Hätt' gern' mal gewusst, ob und wenn ja wo man den PHP-Entwicklern die Servlet-Technologie näher bringen kann. Nur damit sich meine Behauptungen hier auf Fakten stützen, nach denen man nicht 'googeln' muss.
                            Zuletzt geändert von Charles Monroe; 04.08.2008, 14:38.

                            Kommentar


                            • #15
                              Original geschrieben von Charles Monroe
                              Ich habe mich noch nicht mit aspx (.NET-Framework) befasst.
                              OffTopic:
                              Die Arbeitsweise von .NET ist genauso wie Java, doch unter Windows OS sind .NET-Apps wesentlich schneller als Java-Apps, was auch verständlich ist

                              Kommentar

                              Lädt...
                              X