发布继承的属性-gb∕t 21050-2019信息安全技术网络交换机安全技术要求

3.2属性的类型属性可以是任何类型。不同的类型在对象查看器中有不同的显示,对象查看器验证属性在设计时的赋值。表3.1在对象查看器中属性如何显示属性类型对象查看器的处理Simple数字、字符和串属性显示为数字、字符和串。应用程序开发人员可以直接编辑这些属性的值Enumerated枚举类型(包括布尔值)的属性显示为可编辑串。开发人员也可以通过双击输入值框来循环访问可能的值,并有一个下拉列表显示其所有可能的取值Set集合类型的属性显示为集合。通过在属性上双击,开发人员可以展开这个集合,并作为布尔值处理其每一个元素(如在集合中包含则为True) Object是它们自己的类的属性经常有其自己的属性编辑器,它们在组件的注册过程中被指定。如果被属性拥有的类有其自己的published属性,则对象查看器让开发人员展开列表(通过双击)来包括这些属性并分别编辑它们。对象属性必须由TPersistent继承而来Interface只要值是由组件(TComponent的子孙)实现的接口,则是接口的属性就可显示在对象查看器中。接口属性经常有其自己的属性编辑器Array数组属性必须有其自己的属性编辑器。对象查看器没有给其提供内置的编辑支持。当注册你的组件时,可以为其指定一个属性编辑器3.3发布继承的属性所有组件都从其祖先类继承属性。当从已有组件派生新组件时,新组件继承其直接祖先的全部属性。如果从一个抽象类派生,很多继承的属性要么是protected,要么是public,但不是published。要使protected或public属性于设计时在对象查看器中可用,必须重新声明这些属性为published。重新声明意味着为继承的属性在子孙类的声明中再添加一个声明。如果从TWinControl派生组件,比如,它继承了protected DockSite属性。通过在新组件中重声明DockSite,就可以改变其保护级别为public或published。下面的代码显示了DockSite作为published的重声明,使其在设计时可用。 type TSampleComponent = class(TWinControl) published property DockSite; end;当重声明属性时,只要指定属性名即可,而不用指定在“定义属性”中描述的类型和其它信息。你也可声明其新的缺省值,并指定是否保存属性。重声明可以使属性有较少的限制,而不是限制更多。这样,可使protected的属性变为public,但是,不能通过重声明为protected而隐藏public属性。
pdf 文件大小:1.19MB