程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi類的入門例子(3): Create與Destroy

Delphi類的入門例子(3): Create與Destroy

編輯:Delphi

//類單元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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved