property问题delphi
TMyClass=ClassprivateFField1:integer;functionGetField1:string;procedureSetField1(AFie...
TMyClass = Class
private
FField1: integer;
function GetField1: string;
procedure SetField1(AField: string);
public
property Field1: string read GetField1 write SetField1;
end;
implements
function TMyClass.GetField1: string;
begin
result := FField1;
end;
procedure TMyClass.SetField1(AField: string);
begin
FField1 := AField;
end;
如果它的继承类在formcreate事件中要这样子 Filed1 := '采购';
那么property Field1: string read GetField1 write SetField1;中
read跟write是怎么一回事呢?
是不是先把Field1 := '采购'; 先在SetField1中使用得到FField1,得到的结果FField1再传
给GetField1使用。最后得到的result赋值给Field1,最后在使用formcreate事件? 展开
private
FField1: integer;
function GetField1: string;
procedure SetField1(AField: string);
public
property Field1: string read GetField1 write SetField1;
end;
implements
function TMyClass.GetField1: string;
begin
result := FField1;
end;
procedure TMyClass.SetField1(AField: string);
begin
FField1 := AField;
end;
如果它的继承类在formcreate事件中要这样子 Filed1 := '采购';
那么property Field1: string read GetField1 write SetField1;中
read跟write是怎么一回事呢?
是不是先把Field1 := '采购'; 先在SetField1中使用得到FField1,得到的结果FField1再传
给GetField1使用。最后得到的result赋值给Field1,最后在使用formcreate事件? 展开
1个回答
展开全部
property Field1是定义一个属性,属性的使用与普通变量非常象,不过也有不同的,属性从某种角度来说,并没有自己的空间,只是一个标识,通过后面的read来决定,当访问这个属性的时候,得到的是什么结束,通过后面的write来决定,当设置这个属性的时候,会发生什么事情,也就是说,你对一个属性a设置一个数字5(a := 5),当你取a的内容时(b := a)时,得到的不一定是5,这个要看具体的实现。不知道你听明白没有,呵呵,
(而且,你上面例子中的函数,类型是不匹配的,FField1应该是一个string)
(而且,你上面例子中的函数,类型是不匹配的,FField1应该是一个string)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询