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