设为首页收藏本站

Delphi乐园 开发者的家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1748|回复: 0

delphi的Public,Private,Protected,Published作用域 [复制链接]

Rank: 4

  • TA的每日心情
    慵懒
    2013-8-10 13:48:45
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    金钱
    60935
    12142
    0
    在线时间
    6 小时
    阅读权限
    10
    精华
    0
    积分
    0
    UID
    10
    发表于 2012-7-6 10:34:07 |显示全部楼层
    分享到:
    关于Class里的成员:
    1.Public,
    2.Private,
    3.Protected,
    4.Published,
    以上四个class 的成员指令,它们的功用是什么??要怎么用和什么时候输入?怎样用?
    和C++是差不多的、可见性不同、比较容易弄混的就是private和protected了、protected是只有自己和子类可见、private是同单元可见
    1.private用于声明对象方法和字段具有有限的可见性,在申明类的单元外这个类不能被访问;。
    2.protected 用于表示对象方法和字段具有有限的可见性,只能被当前的类和他的子类访问,只用同一个单元中的类,子类和任何代码可以访问protected成员;
    3.public 用于表示可以被程序代码中的任意部分访问的数据和对象方法.
    4.Published是发布的,发布的属性可以在属性列表中看到
    Private: 私有的,只能自己使用或者是同一单元的子类使用,实例不可使用
    Protected,保护的,自己和子类均可使用,实例不可访问的
    Public,公共的,具体实例可以访问和使用
    Published,发布的,主要是针对元件定义的类型,可以在属性列表中可见,使用同Public

    public和published差不多,区别仅在于Published的成员可以被Delphi开发环境的Object   Inspector所显示,因此一般将属性或事件声明于Published段
    public   和published都是公有的,published又称发行成员,是说他定义的变量能在设计期访问,也就是在Object   Inspector中显示可供设计期修改.
    一般来说,你拖放到窗体上的控件的代码申明,控件的事件代码的申明都是在Pubished里面,自己申明的东西不要放在Published下面。
    我补充一下:   
          published:   
                对象的这一部分将产生运行期类型信息(RTTI),   
                并使程序的其他部分能访问这部分,   
                object   inspector   用RTTI   来产生属性的列表.
    private:只有自己类中的函数或友类中的函数可以访问private级别的数据,不允许类的对象和其子类访问
    翻译后意思也不一样!   
      私有   
      公用   
      保护   
      发布
    DELPHI初始化元件的属性时,是按published的顺序来的。因此,如果属性之间存在依赖(比如某属性的Get和Set方法会引用另外的属性),那么请根据依赖关系来编写published中的顺序。否则,可能在属性初始化时出错。
    public:是公共的,允许任何函数,类,对象访问,一般来说操作private数据的函数定义成public级别,提供对象与外部的接口;
    protected:是保护的,对于本类族是公开的,其它的类是私有的(即其它的类不可见)
    您需要登录后才可以回帖 登录 | 立即注册

    delphi乐园微信公众号

    手机版|Delphi乐园 ( 冀ICP备11023363号-7 )    

    GMT+8, 2016-10-23 02:20

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    公网安备 14090202000504号

    回顶部