To create a new VCL Forms application project, two classes already appear in the code:
One is the Tform class; One is the TForm1 class; TForm1 inherited from Tform.
Tform is the parent class of TForm1; TForm1 is a subclass of 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;
The following custom two classes, Tchild inherited from 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;
Test 1: The parent class has only one method Msg1
procedure TForm1.Button1Click(Sender: TObject);
var
b: TBass;
begin
b := TBass.Create;
b.msg1; {is Bass}
b.Free;
end;
Test 2: Subclass has two methods, one MSG2, and inherits a 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.