類成員類型有待考究。望知者相告。
在delphi7中怎麼創建一個自己的類:
1、類定義位置:新建一個單元,如下所示
[delphi] unit Unit3;
interface
implementation
end.
unit Unit3;
interface
implementation
end.
類的定義應在interface和implementation之間。類的實現部分在implementation和end.之間。以type始以end;止。
2、類成員類型:public、private、published默認類型為public
3、構造函數、析構函數、重載函數。
構造函數和析構函數必須是固定格式。重載函數通過在函數定義後加overload;實現。
4、類成員數據和成員方法的位置關系:在成員類型關鍵字之後必須是先成員數據後成員方法,否則會報錯:Field definition not allowed after methods or properties.
5、類的使用:聲明一個類對象後,必須先調用其create方法,之後才可使用該類對象。
6、free是TObject類的方法,never call destroy directly,而是調用free method。
有兩個比較nb的事:
1)僅有成員函數聲明沒有成員函數實現會報錯。
2)delphi的initialization和finalization單元,可代替構築函數和析構函數。
類定義和使用示例
[delphi] unit Unit2;
interface
//有基類時 type TStudent = class(基類)
type TStudent=class
procedure SetID(ID:string);
public
ID : string;
function GetID:string;
constructor Create(i:integer); overload;
constructor Create ; overload;
destructor Destroy;
end;
implementation
procedure TStudent.SetID(ID:string);
begin
end;
function TStudent.GetID:string;
begin
result := ID;
end;
constructor TStudent.Create(i:integer);
begin
ID := 'abc';
end;
constructor TStudent.Create;
begin
end;
destructor TStudent.Destroy;
begin
end;
end.
unit Unit2;
interface
//有基類時 type TStudent = class(基類)
type TStudent=class
procedure SetID(ID:string);
public
ID : string;
function GetID:string;
constructor Create(i:integer); overload;
constructor Create ; overload;
destructor Destroy;
end;
implementation
procedure TStudent.SetID(ID:string);
begin
end;
function TStudent.GetID:string;
begin
result := ID;
end;
constructor TStudent.Create(i:integer);
begin
ID := 'abc';
end;
constructor TStudent.Create;
begin
end;
destructor TStudent.Destroy;
begin
end;
end.
[delphi] procedure TForm1.Button1Click(Sender: TObject);
var
stuA : TStudent;
begin
stuA := TStudent.Create(1);
ShowMessage(stuA.GetID);
end;