高手:它们究竟有什么区别?

newjq 2005-07-11 04:57:06
interface
uses
Windows...;
type
procedure P1(Sender: TObject);
private
procedure P2(Sender: TObject);
public
procedure P3(Sender: TObject);
sV1: String;
end;

var
sV2: String;
implementation

{$R *.DFM}
...
end.

上面这个单元中:
过程P1,P2,P3的区别?
变量sV1,sV2的区别?
谢谢!!!
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
newjq 2005-07-11
  • 打赏
  • 举报
回复
我刚刚接触DELPHI,经常被搞的晕晕的.
比如这两个变量,好象作用差不多,你说两者的lifecycle
不同,是不是全局变量随时可以引用,类的成员变量必须实例化
后才能引用,另外这两个变量引用名是不是不一样?一个是类名.变量名,
一个是实例名.变量名?
另外:P1的访问级别是什么?我只想让子类中调用过程或变量怎么申明?谢谢!!!
cncharles 2005-07-11
  • 打赏
  • 举报
回复
我来说两句吧,如果不对请高手们纠正:
p1是一个类的本身过程,在别的单元中都可以访问;访问格式中 类名.P1
p2是一个公布的过程,在别的单元中都可以访问只不过是用户定义的过程;访问方法都p1
p3是一个类的私有过程,只有在这个单元可以使用,也是用户定义的过程;本单元中访问方法都P1
sV1是一个类公布的变量,在别的单元可以使用,不过使用的时候要到带上 类名.sV1才可以访问
sV2是一个全局变量,它不属于任何一个类,因此访问的时候直接用 sV2 就可以.

以上说法可能不对但是意思应该是对的.
梅青松 2005-07-11
  • 打赏
  • 举报
回复
三个过程不就是访问级别不同嘛,
既然懂OO的概念我想不用多解释了
吧,
两个变量,一个是全局变量,一个
是类的变量成员,两者的lifecycle
不同
newjq 2005-07-11
  • 打赏
  • 举报
回复
OO的概念还是懂点吧,在这提问还不是想让高手们点一下睛,我想并不是所有高手都能说的明明白白吧?
就算找来两本面向对象的书如果不能看的透彻也不一定立马能理解吧?会就说两句,要不我也不好给分啊?高手:你说呢?
梅青松 2005-07-11
  • 打赏
  • 举报
回复
找两本面向对象的书好好看看吧

16,749

社区成员

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

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