Seite 1 von 1

Klassen __(Private) - Nicht ok?

Verfasst: Donnerstag 22. Mai 2008, 17:35
von Crazed
Hallo,
Ich bin einen meiner Threads durchgegangen und jemand hatte mich darauf aufmerksam gemacht oder vielmehr gefragt warum ich in einer Klasse etwas privat mache z.b:

Code: Alles auswählen

self.__serverlist = {'1':'http://www.google.de/'}
Jetzt habe ich mir Gedanken gemacht. In der offiziellen Python Dokumentation steht ja das es so geht, aber nicht von der Sprache erzwungen wird. Wie soll ich es denn machen - gibt es irgendwelche Vor u.o Nachteile?

MfG,
CracKPod

Verfasst: Donnerstag 22. Mai 2008, 18:04
von numerix
Das Thema hatten wir in der letzten Zeit (max. 3 Wochen zurück) schon mehrfach - z.T. sehr ausführlich. Such doch mal im Forum danach.

Verfasst: Donnerstag 22. Mai 2008, 19:41
von lunar
Die Zusammenfassung für Faule ;)

Doppelte Unterstriche nutzt man nur, wenn man Namenskollisionen bei Mehrfachvererbung befürchtet. Da das bei sauberem Design nicht vorkommen sollte, sind doppelte Unterstriche eigentlich immer unangebracht ;)

Einfache Unterstriche sind für private Attribute gedacht, die nicht von außen verwendet werden sollen. Für dein Beispiel wäre das die richtige Möglichkeit.

Allerdings musst du dir auch immer Gedanken machen, ob es wirklich nötig ist, etwas privat zu machen. Eine Liste aller Server könnte auf für Nutzer dieser Klasse interessant sein, wenn es beispielsweise gilt, ein Menü in einer GUI anzuzeigen ;)