将成员声明为published
优于public
:
能够在IDE的对象Insepoctor中读取/写入成员
RTTI and its uses
那么,声明成员public
而不是published
有好处吗? published
有什么缺点吗?还是应该总是声明成员published
?
PS:不是重复的;在发布问题之前,我先阅读了该问题及其所有答案。 “可能重复”问题说明了两个关键字之间的区别,但未给出何时应使用其中一个或使用其中一个的优缺点的指导。
最佳答案
声明为已发布会带来存储成本,因为可执行文件的大小已膨胀以包含RTTI。宣布为公众可避免该费用。不太可能会变得无关紧要,特别是考虑到现代Delphi可执行文件的巨大规模,因为它们包含大量甚至无法执行的代码。
对于可以在对象检查器中编辑的组件,public
和published
之间的区别更为明显。如您所说,这是组件确定哪些属性在对象检查器中可见的方式。一些属性应该在那里可见,而其他属性则不可见。用户“ TLama”给出了需要公开但不能在对象检查器中编辑的属性的精美示例:Parent
,Handle
等。
除此之外,还取决于意见。完全由您决定要做什么。
关于delphi - 为什么要宣布成员公开而不是公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098707/