delphi中属性与成员变量的关系,有什么区别? 15
1个回答
展开全部
变量是数据的载体,一个对像的特性可以通过属性及方法表现,用属性表示对象更为灵活
比如一个人的年龄
你可以使用
var
age: integer;
这个变量表示,age := 100。设置这个人有100岁。
这样看着没有问题,但age := 1000呢?这样问题就体现出来了。
当你定义一个age属性如下
....
property Age: Integer read FAge write SetAge;
你可以在SetAge方法中这样处理
procedure SetAge(Value: integer);
begin
if (Value >= 0) and (value <= 100) then
FAge := Value
else
FAge := 100;
end;
让年龄的上限就在0~100岁,这样就灵活多了
(FAge就是成员变量,SetAge是修改FAge变量的方法;属性有Get方法提取数据,Set方法修改数据,在方法里面可以自己定义规则。详细例子可以参考vcl代码)
比如一个人的年龄
你可以使用
var
age: integer;
这个变量表示,age := 100。设置这个人有100岁。
这样看着没有问题,但age := 1000呢?这样问题就体现出来了。
当你定义一个age属性如下
....
property Age: Integer read FAge write SetAge;
你可以在SetAge方法中这样处理
procedure SetAge(Value: integer);
begin
if (Value >= 0) and (value <= 100) then
FAge := Value
else
FAge := 100;
end;
让年龄的上限就在0~100岁,这样就灵活多了
(FAge就是成员变量,SetAge是修改FAge变量的方法;属性有Get方法提取数据,Set方法修改数据,在方法里面可以自己定义规则。详细例子可以参考vcl代码)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询