private im Namespace möglich?



  • Hallo Coder,

    wenn ich eine Klasse definiere, kann man ich ja einen private: Bereich haben. Ist so etwas auch im Namespace möglich oder sind dort alle Variablen automatisch public? Bei mir erhalte ich nämlich einen Compiler Fehler, wenn ich versuche einen private Bereich zu erstellen.

    Danke und viele Grüße

    Georg



  • Das ist nicht möglich, Namespaces haben keine Zugriffsebenen.



  • was du aber machen kannst, ist einen namespace private aufzumachen, darauf kann zwar immernoch jeder zugreifen, aber dann weis er, dass das was er tut absolut falsch ist 😉



  • Wozu benötigt man das? Interne Routinen wandern einfach in die Quelldatei?

    MfG SideWinder



  • wenn man viel mit templates rumspielt, gibt es meistens keine quelldatei 🙂



  • Für Dinge, die man nur in einer Quelldatei braucht, kann man natürlich auch anonyme namespaces bzw. den private-Teil der jeweils implementierten Klasse verwenden... aber wenn man Dinge in mehreren Quelldateien braucht und trotzdem nicht öffentlich preisgeben will, helfen nur Header in einem Extra-Ordner, die der Endbenutzer nicht zu sehen bekommt. Zumindest verwendet die Lib in meiner Signatur solche *schleichwerb* 😉



  • thx für eure Antworten. Ich will Namespaces verwenden, um ein zukünftiges Projekt etwas struturierter zu gestalten. Ich könnte natürlich auch Klassen nehmen, doch benötige ich immer nur eine Instanz, sodass ich dann noch eher Namensbereiche verwende.
    Ich habe mich jetzt dazu entschlossen in jeden Namespace einen weiteren namenlosen einzufügen. Dort tue ich dann alle Variablen rein, die private sein sollen. So ahme ich in bischen eine Klasse nach. Mein Ziel ist es halt, dass der Bereich, wie eine Klasse abgekapselt ist.

    Georg


Log in to reply