Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Private, Public
Mitmischer 1703 - Mi 16.01.08 19:55
Titel: Private, Public
Mal eine Frage von der Logik her:
Was spräche dagegen, alles Private öffentlich zu deklarieren?
Jann1k - 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 - 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 ;-).
Yogu - 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 - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!