请问在这private和public里面定义什么?unit New;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;type
TfrmNewItem = class(TForm)
private //在这里定义什么????
{ Private declarations }
public //在这里定义什么????
{ Public declarations }
end;var i: integer; //这里定义的就是对外可见的全局变量。
frmNew: TfrmNew;implementationvar j: integer; //这里定义的就是单元全局变量。{$R *.dfm}.
.
.
end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;type
TfrmNewItem = class(TForm)
private //在这里定义什么????
{ Private declarations }
public //在这里定义什么????
{ Public declarations }
end;var i: integer; //这里定义的就是对外可见的全局变量。
frmNew: TfrmNew;implementationvar j: integer; //这里定义的就是单元全局变量。{$R *.dfm}.
.
.
end.
解决方案 »
- 如何制作一个自解压压缩包,解压完自动执行里面的可执行文件(压缩包里有许多文件)
- delphi高手请进!寻求帮助[提供项目资金]
- 如何定义sql语句中的返回值
- 廉价出售ASP、Delphi书籍
- 谁做过阅卷机方面的?
- 一个小问题:很急,在线等待。
- ini文件中可以有包含real型数据吗?
- 如何编写一个DLL??
- 跪求——如何在Delphi中创建一个圆形窗体!我向里面写完代码运行的时候,总是出来Delphi一开始运行的那个FORM1,请问怎么解决呀!!
- 各位兄弟哪儿有DELHPI 5.0 的升级程序??????????????????????拜托!!!!!!!!
- 用Delphi编程访问SQLServer数据库
- 高级字符串问题
就是说只能在本单元引用的
而public是公有的
都可以引用
public里定义的是全局变量。
每个Object Pascal的类,有四种访问级别:private、protected、public、published。
其中,public的成员可以被外界的所有客户代码直接访问;published和public差不多,区别仅在于published的成员可以被Delphi开发环境的Object Inspector所显示,因此一般将属性或事件声明于published段;private成员为类的私有性质,仅有类本身和友元可访问;protected成员基本与private类似,区别在于protected可以被该类的所有派生类访问。 在类级别的封装中,对外界的接口是public方法和published成员的集合,private和protected的集合则属于类的实现细节。
而对于该类的派生类来说,接口是public、published与protected的集合,而只有private部分为内部实现细节。
2.2.2 单元级别的封装 单元级别的封装包含的含义有:
1.在一个Unit中声明的多个类,互为友元类。
2.在一个Unit的interface部分声明的变量为全局变量,其他Unit可见。
3.在一个Unit的implementation部分声明的变量为该unit的局部变量,只在该Unit可见。 4.每个Unit可有单独的初始化段(initialization)和反初始化段(finalization),可在编译器支持下自动进行Unit级别的初始化和反初始化。 Object Pascal规定,声明在同一个Unit之中的多个类互为友元类,友元类之间可以互相访问所有数据,无论是public的,还是private的,或者是protected的。也就是说,友元类之间没有秘密。
2和3处定义的变量有什么区别?
1和4处定义的变量有什么区别?
unit New;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;type
TfrmNewItem = class(TForm)
private //1
{ Private declarations }
public //2
{ Public declarations }
end;var i: integer; //3
frmNew: TfrmNew;implementationvar j: integer; //4{$R *.dfm}.
.
.
end.
private里定义类的私有成员,外界无法访问;public里定义共有成员,外界可以访问。
最本质的区别就是在1,2是类的成员,3,4不是
2和3的区别:其他单元调用2时候要frmNew.xxxxxxxxx,3可以直接调用xxxxxxxxx;
1和4的区别:1只能在类内部调用,只能在frmNew.xxxxxxxxx这样定义的函数内调用,如果一个函数xxxxxxxxx,前面没有"frmNew."则不能调用1,4则可以在本单元内的任意地方调用。