类的结构问题

wslmsx 2009-08-29 06:39:50
比如建一个FORM,代码如下
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
其中
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
几句之前没有private,public之类的标志。那这几句代表什么,缺省的情况是默认为public么?
也就是说这几句相当于
public
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
是这样么?
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Seamour 2009-08-29
  • 打赏
  • 举报
回复
默认是public
vcl 控件都是 TPersistent 的继承类,TPersistent 在 vcl 中有非常重要的地位。打开 Classes.pas 可以看到,在 TPersistent 之前有 {$M+} 预编译参数,这个参数有两个作用,一个是打开rtti,另一个是使默认域变为published。而vcl控件都继承自 TPersistent,也就自然继承了这两个属性,TComponent、TControl、TWinControl 等等的默认域也就变成了 published
wslmsx 2009-08-29
  • 打赏
  • 举报
回复
谢谢了!可是楼上二位说的不一样,是说要分具体情况么?
阿发伯 2009-08-29
  • 打赏
  • 举报
回复
Delphi类成员缺省不是public,而是published
caixiaobai08 2009-08-29
  • 打赏
  • 举报
回复
缺省情况下类成员的可见性是public

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧