比如一个人有姓名和年龄两个属性,
  我在创建对象per = person.CREATE('张三',11);
  然后我想通过per.getname,per.getage得到这个对象的两个属性。类似JAVA中的JAVABEAN
  请问这个类在DELPHI中应该如何定义,还有就是在DELPHI中不使用这个对象的时候应该调用什么方法来释放内存。在内存中清除这个对象。

解决方案 »

  1.   

    type
      Person = class
     private
       FGetname: String;
       FGetAge : integer;
     public
       property GetName:String read FgetName Write FGetName;
       property GetAge : integer read FgetAge Write FgetAge;
    end;
      

  2.   

    type
    Tperson = class
      private
        FName:string;
        FAge:integer;
      public
        constructor Create(AName:string;Age:integer);
        destructor Destroy;override;//对象销毁时
        function GetName:string;
        function GetAge:integer;
      published
        property Name: string read GetName;
        property Age: integer read GetAge;
    end;对象用完后,使用Free来释放
      

  3.   


    type 
      Person = class 
    private 
      FGetname: String; 
      FGetAge : integer; 
    public 
      constructor Create(vName:string;vAge:integer);
      procedure test;
      property GetName:String read FgetName Write FGetName; 
      property GetAge : integer read FgetAge Write FgetAge; 
    end;
    procedure person.Create(vName:string;vAge:integer);
    begin
      getName := vName;
      GetAge := vAge;
      
    end;procedure persion.test;
    var
    per :persion ;
    begin
      per = person.CREATE('张三',11); 
    end;
      

  4.   


    type
      TPer = class(TObject)
      private
        FName: string;
        FAge Integer;
        function GetName: string;
        function GetAge: Integer;
        procedure SetName(const Value: string);
        procedure SetAge(const Value: Integer);
      public
        constructor Create(Name: string; Age: Integer);
        property Name: string read GetName write SetName;
        property Age: Integer read GetAge write SetAge;
      end;var
      Per1: TPer;constructor TPer.Create(Name: string; Age: Integer);
    begin
      inherited Create;
      FName := Name;
      FAge := Age;
    end;function TPer.GetName: string;
    begin
      Result := FName;
    end;function TPer.GetAge: Integer;
    begin
      Result := FAge;
    end;procedure TPer.SetName(const Value: string);
    begin
      FName := Value;
    end;procedure TPer.SetAge(const Value: Integer);
    begin
      FAge := Value;
    end;
    procedure TForm1.OnCreate(Sender: TObject);
    begin
      Per1 := TPer.Create('张三', 20);
    end;procedure TForm1.OnDestroy(Sender: TObject);
    begin
      Per1.Free;
    end;