在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Delphi中类的published属性则是可以在属性列表中看到并使用的属性 公布成员(published)和公共成员(public)具有相同的可见度,但published中声明的会显示在属性栏,public 不会! published和public的限制访问属性是一样的 ;不过,published一般用于组件编程中,而不常用于应用程序中。 转自OBJECT PASCAL "公布成员(published)和公共成员(public)具有相同的可见度。不同的是,运行时信息RTTI(runtime type information)为公布成员产生。RTTI允许应用程序动态地查询对象的域和属性、定位对象的方法。RTTI用于在下列情形下访问属性的值:保存 和加载文件时,在对象检查器(Object Inspector)中显示属性时,将指定的方法(即事件处理程序)与指定的属性(即事件)关联时。 公布属性只限于某些数据类型。序数、串、类、接口和方法指针等类型可以被公布;由此可见,提供的基类型其上下界范围的序数值在0到31之间的集合类型也可 以被公布,即集合必需适合于字节、字或双字(Byte,Word或Double Word);除Real48之外,任何实数类型都可以被公布。数组类型的属性(不同于下面述及的数组属性array properties)不能被公布。"
通过RTTI可以获得一个类的所有Published属性
在TForm1 = class(TForm)下面多了Button1变量和Button1Click方法,它们其实是published类型的,当该类或父类使用了“{$M+}”编译指令的情况下,默认为published成员。published成员可以在Object Inspector看到,我们可以手工加上将代码改为: type TForm1 = class(TForm) published Button1: TButton; procedure Button1Click(Sender: TObject); private procedure PriShowMsg(); { Private declarations } public procedure PubShowMsg(); { Public declarations } end; 在implementation中对上述方法进行定义: procedure TForm1.PriShowMsg; begin ShowMessage('私有方法调用'); end;
procedure TForm1.PubShowMsg; begin
ShowMessage('公共方法调用'); end; 在Button1的OnClick事件方法中调用上述两个方法: procedure TForm1.Button1Click(Sender: TObject); begin PriShowMsg; PubShowMsg; end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论