导航
  • 主页
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

一个简单的 语法问题

RunInQuake 2001-03-14 11:44:00
在一个类的定义里 ,有这么一句:
property
Link:integer read FLink write SetLink;

FLink是该类的另一个变量。
SetLink是一个成员函数。
请问这是什么意思?有什么作用。

初用Delphi,手边没有书,只能看别人的源码干活,请帮个忙解释一下。
...全文
104 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
laza 2001-03-14
property
Link:integer read FLink write SetLink;

外部通过访问对象属性来和对象(类实例)做交互,对象属性值存取(读----read FLind 写变为一个过程,触发一系列动作,最基本的包括对FLink 进行赋值,也可更具你自己的意愿实现各种动作 )。这样对象通过属性和外部打交道,保护自己的敏感或重要的私有变量、或者触发动作等。property 是delphi特色部分,用好了很重要,它体现了面向对象的编程思想。

setLink的作用:
外部程序对这个对象属性进行赋值时触发这个过程,在这个过程里有对对象私有变量的赋值(maybe Flink := value),也可能还有其他一些动作,这要根据代码来分析了。


多看书,有的book讲得很好。
回复
xzisgood 2001-03-14
link是属性,属性需要可以read和write而且还可以有default
在这里需要读link属性时就是读flink,需要写Link时调用setlink函数
回复
enlightenment 2001-03-14

property表示属性,

read表示激发读取,即当你引用Link属性时,将会读取类中同类型变量(譬如:FLink变量的值)或调用以Flink为名称的函数获取自身的值;

write同理,表示当设置该属性时触发的功能,譬如是写某个内部变量(如果SetLink为变量的话),或是调用SetLink(如果SetLink是函数的话)函数。

一般,内部变量以F打头,保存在Private区域,所以我估计:该属性表示,当读取该属性时,读取内部属性Flink的值,当给该变量赋值时,调用SetLink函数执行。

回复
renzhm 2001-03-14
做控件常用的一句话(当然其他也常用)
FLink是该类的私有变量,一般由VCL信息或Windows信息截获,
SetLink设置Link值的过程(函数)例:Link:=FLink;
Link:integer read FLink write SetLink;
这句话的意思:读取Flink的值通过SetLink过程赋值.

回复
墨梅无痕 2001-03-14
Link是你可以在Object Inspector里看到的,他的值由FLink这个私有变量来提供;
SetLink用来设置FLink的值;
使用成员函数来设置一个变量是因为不能一步完成赋值操作;
也可以这样使用:
Link: integer read FLink write FLink;//这是直接赋值;
回复
发动态
发帖子
Delphi
创建于2007-08-02

4806

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告