Autor Beitrag
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Mi 16.01.08 19:55 
Mal eine Frage von der Logik her:

Was spräche dagegen, alles Private öffentlich zu deklarieren?

_________________
Die Lösung ist nicht siebzehn.
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mi 16.01.08 20:00 
Tolle Frage, solange du nur Hobbyprogrammierer bist, spricht da eigentlich nichts gegen, außer dass es schlechter Programmierstil ist.

Wenn du irgendwann mal Komponenten entwickelst, macht es durchaus Sinn, Methoden und Variablen einer Klasse auf private zu setzen, damit nicht jeder DAU mit der Klasse rum spielen kann wie er will und dabei irgendeinen murks veranstaltet.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8549
Erhaltene Danke: 478

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 16.01.08 20:00 
Gegenfrage: Warum stellst du nicht deine sämtlichen privaten Daten öffentlich ins Netz, damit jeder darauf Zugriff hat? Evtl. sogar schreibend? :shock:

Einige Dinge einer Klasse sind halt privat, das geht keine andere Klasse was an ;-).

_________________
We are, we were and will not be.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 16.01.08 20:05 
Wenn du es nur privat verwendest, ist ja eigentlich eh alles privat, da brauchst du zur Sicherheit nichts mehr machen.

Wohl aber zur Übersichtlichkeit! Wenn du alle extern unwichtigen Eigenschaften & Methoden privat deklarierst, werden auch nur die in der Code-Verfollständigung angezeigt. Also kannst du schnell finden, was du suchst.

Stelle dir doch mal vor, was wäre, wenn Borland strikt alle Variablen und Methoden public deklariert hätte? Dann dürftest du eine Weile damit beschäftigt sein, die richtige rauszusuchen.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mi 16.01.08 21:12 
vor allem unterstützt sowas auch deinen Programmierstil. Denn es verhindert, dass du irgendwelche Sub-proceduren einfach aufrufen kannst, worauf die Komponente eigentlich garnicht vorbereitet ist, vor allem bei eigenen Komponenten, die schon eine Weile alt sind.

Bsp.
du verwendest die procedure Add einer eigenen Komponente. Eigentlich ist es aber so gedacht, dass du die procedure AddItem aufrufen sollst, da in dieser ein dynamsiches Array vergrößert wird. In diesem hypotetischem Falle käme eine Zugriffsverletzung. Wenn du Add als private deklarierst, dann kann ein solcher Fehler nicht auftreten.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)