クラスの入門例について(3):CreateとDestroy
1952 ワード
//
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;