Object Pascal类成员客分为5个封装等级:
1.private:
     只能在该类声明所在的单元(Unit)内使用。此外,父类中private成员可被继承,
  但它的子类无法使用这些成员。
2.protected:
     只能在该类声明所在的单元(Unit)内使用,但可供子类使用。
3.public:
     无论在任何单元内,该类于其所有子类的对象,都能使用它拥有的public成员。
4.published:
      与public一样,但有一个很大的区别:Delphi的对象检视器(Object Inspector)可直接
  显示本区域的成员,而此差别来自RTTI(runtime type information)机制。
  a.重载(overloaded)函数不可作Published事件,
  b.数组类,字段(field)(除非它属于class或interface类)不可作Published属性。
  //RTTI(runtime type information)机制,为published所作,它允许程序动态查询该类的published的
  //字段,属性(包括属性及事件)并且加载类的方法。必须使用“{$M+}”编译指令才能启动RTTI,或者
  //是它的祖先类以上述状态编译,启动RTTI,然后在对象检视器显示。一般的窗体(TForm),可以显示
  //它的published成员,因为它的父类有一个TPersistent类,是通过“{$M+}”编译指令编译而成,能启动
  //RTTI。而所有对象模版上的组件类,几乎都继承自TPersistent类。
5.automated:
     与public一样,区别是:当我们使用自动化服务器(Automation Server)时,“Automation type
  information”是为成员所设置。只能在OleAuto单元出现,继承自TAutoObject,且OleAuto单元本来就
  有默认的Automated区。ComObj单元无法具有Automated区。