delphi中属性与成员变量的关系,有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:40:07

变量是数据的载体,一个对像的特性可以通过属性及方法表现,用属性表示对象更为灵活
比如一个人的年龄
你可以使用
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代码)