Autor |
Beitrag |
Mitmischer 1703
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: 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
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: 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
      
Beiträge: 8549
Erhaltene Danke: 478
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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?
Einige Dinge einer Klasse sind halt privat, das geht keine andere Klasse was an  .
_________________ We are, we were and will not be.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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
      

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)
|
Verfasst: 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)
|
|
|