Welcome

首页 / 软件开发 / Delphi / Delphi类的入门例子(3): Create与Destroy

Delphi类的入门例子(3): Create与Destroy2011-12-12 万一 //类单元unit Person;
interface
uses
Dialogs;
type
TPerson = class(TObject)
private
FName: string;
FAge: Integer;
public
constructor Create(strName: string; intAge: Integer);
destructor Destroy; override;
function GetName: string;
function GetAge: Integer;
procedure SetName(const strName: string);
procedure SetAge(const intAge: Integer);
end;
implementation
{ TPerson }
constructor TPerson.Create(strName: string; intAge: Integer);
begin
inherited Create; //这里的 Create 不能省略, 因为参数不一样
FName := strName;
if intAge<0 then intAge := 0;
FAge := intAge;
end;
destructor TPerson.Destroy;
begin
ShowMessage(FName + "向你问好!");
//inherited Destroy;
inherited; //省略就是继承同名方法
end;
function TPerson.GetName: string;
begin
Result := FName;
end;
function TPerson.GetAge: Integer;
begin
Result := FAge;
end;
procedure TPerson.SetName(const strName: string);
begin
FName := strName;
end;
procedure TPerson.SetAge(const intAge: Integer);
begin
if intAge<0 then FAge := 0 else FAge := intAge;
end;
end.
//测试:uses Person;
procedure TForm1.Button1Click(Sender: TObject);
var
PersonOne: TPerson;
begin
PersonOne := TPerson.Create("wy",99);
ShowMessage("姓名:" + PersonOne.GetName + "; 年龄:" +
IntToStr(PersonOne.GetAge)); //姓名:wy; 年龄:99
PersonOne.SetName("万一");
PersonOne.SetAge(100);
ShowMessage("姓名:" + PersonOne.GetName + "; 年龄:" +
IntToStr(PersonOne.GetAge)); //姓名:万一; 年龄:100
PersonOne.Free; //万一向你问好!
end;