这个创建对象的例子的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.

解决方案 »

  1.   

    代码不是有吗
    procedure TMan.SetAge(Value: Integer);
    begin
      if Value<2 then FAge:=0
      else FAge:=Value;
    end;
      

  2.   

    这个过程主要是对应proterty Age,当外部设定Age时就会调用SetAge就会更改FAge;
    如var Mam: TMan; Man.Age := 30;就会调用SetAge方法设定FAge.
      

  3.   

    首先,这个函数是给属性服务的. 
    它通过SetAge过程给Fage赋值.
    便可以通过
    Age.Fage 读取.
      

  4.   

    FAge: Integer;
    procedure SetAge(Value: Integer);
    property Age: Integer read FAge write SetAge;这是属性!
    读的是FAge,写调用SetAge;
      

  5.   

    Age属性的完整定义
    private
        FAge: Integer;
        procedure SetAge(Value: Integer);
    public
        property Age: Integer read FAge write SetAge; //属性定义
      

  6.   

    SetAge负责当通过TMan实例来给TMan的Age属性赋值时的操作
    如果我们在加一个过程private
        FAge: Integer;
        procedure SetAge(Value: Integer);
        function GetAge:Integer;
    public
        property Age: Integer read GetAge write SetAge; //属性定义这样的话GetAge将负责TMan实例读取Age属性时的操作
      

  7.   

    procedure TMan.SetAge(Value: Integer);
    begin
      if Value<2 then FAge:=0
      else FAge:=Value;
    end;
    先這樣看下你應該明白了。  
    setValue (1);這樣執行的步驟就是: 先判斷 下 1< 2 Fage = 0  反之 Fag = 1
    這是類裏面一個很重要的概念,通常不要直接訪問類的成員,而是過屬於訪問。就如上面的 setValue  是對 Fage  進行賦值,
    在這個過程裏面我們可以做一些處理,達到對變量的控制,及安全方面的考慮
      

  8.   

    这个创建对象的例子的procedure TMan.SetAge(Value: Integer);是在干什么的?
    请教下它有什么作用? 这个是在为Man对象的属性Age赋值 
      

  9.   


      procedure sayHello(words:pchar);不明白这是做什么的?