先新建一个 VCL Forms Application 工程, 代码中就已经出现了两个
类:
一个是 TForm 类; 一个是 TForm1 类; TForm1 继承于 TForm.
TForm 是 TForm1 的父类; TForm1 是 TForm 的子类.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
//下面自定义了两个类, TChild 继承于 TBass
TBass = class
procedure msg1;
end;
TChild = class(TBass)
procedure msg2;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TBass }
procedure TBass .msg1;
begin
ShowMessage( 'is Bass');
end;
{ TChild }
procedure TChild .msg2;
begin
ShowMessage( 'is Child');
end;
//测试1: 父类只有一个方法 msg1
procedure TForm1 .Button1Click(Sender: TObject);
var
b: TBass;
begin
b := TBass .Create;
b .msg1; {is Bass}
b .Free;
end;
//测试2: 子类有两个方法, 自己一个 msg2, 还继承了一个 msg1
procedure TForm1 .Button2Click(Sender: TObject);
var
c: TChild;
begin
c := TChild .Create;
c .msg1; {is Bass}
c .msg2; {is Child}
c .Free;
end;
end.
一个是 TForm 类; 一个是 TForm1 类; TForm1 继承于 TForm.
TForm 是 TForm1 的父类; TForm1 是 TForm 的子类.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
//下面自定义了两个类, TChild 继承于 TBass
TBass = class
procedure msg1;
end;
TChild = class(TBass)
procedure msg2;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TBass }
procedure TBass .msg1;
begin
ShowMessage( 'is Bass');
end;
{ TChild }
procedure TChild .msg2;
begin
ShowMessage( 'is Child');
end;
//测试1: 父类只有一个方法 msg1
procedure TForm1 .Button1Click(Sender: TObject);
var
b: TBass;
begin
b := TBass .Create;
b .msg1; {is Bass}
b .Free;
end;
//测试2: 子类有两个方法, 自己一个 msg2, 还继承了一个 msg1
procedure TForm1 .Button2Click(Sender: TObject);
var
c: TChild;
begin
c := TChild .Create;
c .msg1; {is Bass}
c .msg2; {is Child}
c .Free;
end;
end.