这个创建对象的例子的procedure TMan.SetAge(Value: Integer);是在干什么的?
请教下它有什么作用?unit uCreateManClass;interfaceuses
Dialogs;type
TMan = class (TObject)
private
FAge: Integer;
procedure SetAge(Value: Integer);
public
Language: string;
Married: Boolean;
Name: string;
SkinColor: string;
constructor create; overload;
property Age: Integer read FAge write SetAge;
procedure sayHello(words:pchar);
end;
implementation{
************************************* TMan *************************************
}
constructor TMan.create;
begin
Name:='张三';
Language:='中文';
SkinColor:='黄色';
FAge:=20;
Married:=True;
end;procedure TMan.SetAge(Value: Integer);
begin
if Value<2 then FAge:=0
else FAge:=Value;
end;procedure TMan.SayHello(Words:PChar);
begin
showmessage(words);
end;end.
请教下它有什么作用?unit uCreateManClass;interfaceuses
Dialogs;type
TMan = class (TObject)
private
FAge: Integer;
procedure SetAge(Value: Integer);
public
Language: string;
Married: Boolean;
Name: string;
SkinColor: string;
constructor create; overload;
property Age: Integer read FAge write SetAge;
procedure sayHello(words:pchar);
end;
implementation{
************************************* TMan *************************************
}
constructor TMan.create;
begin
Name:='张三';
Language:='中文';
SkinColor:='黄色';
FAge:=20;
Married:=True;
end;procedure TMan.SetAge(Value: Integer);
begin
if Value<2 then FAge:=0
else FAge:=Value;
end;procedure TMan.SayHello(Words:PChar);
begin
showmessage(words);
end;end.
解决方案 »
- delphi 2010 如何查看工程文件
- 跪求~~~问题~~帮助者~~~
- 关于sql的问题
- 着急:用bitbmp画出一个区域,读进文字,怎么样可以使这个区域是透明的啊??
- TWebBrowser小问题
- 有没有api函数可以读AX BX CX DX 寄存器!
- 谁能提供李维的《Delphi 5.x 分布式多层应用 系统篇》的范例代码
- 请问如何实现本地文件夹与远程文件夹的文件同步,Thanks!!!
- 我想在程序中调用windows的画图程序应该怎么写代码
- 运行客户端产生Dax error!!ErrorMessage:Name not unique in this context.????????????
- 程序运行就最小化
- 用dbExpress连接MYSQL时出错 提示:unable to load dbexpmy4.dll
procedure TMan.SetAge(Value: Integer);
begin
if Value<2 then FAge:=0
else FAge:=Value;
end;
如var Mam: TMan; Man.Age := 30;就会调用SetAge方法设定FAge.
它通过SetAge过程给Fage赋值.
便可以通过
Age.Fage 读取.
procedure SetAge(Value: Integer);
property Age: Integer read FAge write SetAge;这是属性!
读的是FAge,写调用SetAge;
private
FAge: Integer;
procedure SetAge(Value: Integer);
public
property Age: Integer read FAge write SetAge; //属性定义
如果我们在加一个过程private
FAge: Integer;
procedure SetAge(Value: Integer);
function GetAge:Integer;
public
property Age: Integer read GetAge write SetAge; //属性定义这样的话GetAge将负责TMan实例读取Age属性时的操作
begin
if Value<2 then FAge:=0
else FAge:=Value;
end;
先這樣看下你應該明白了。
setValue (1);這樣執行的步驟就是: 先判斷 下 1< 2 Fage = 0 反之 Fag = 1
這是類裏面一個很重要的概念,通常不要直接訪問類的成員,而是過屬於訪問。就如上面的 setValue 是對 Fage 進行賦值,
在這個過程裏面我們可以做一些處理,達到對變量的控制,及安全方面的考慮
请教下它有什么作用? 这个是在为Man对象的属性Age赋值
procedure sayHello(words:pchar);不明白这是做什么的?