unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TBase=class
public
function AAA:string;
function BBB:string;virtual;
function CCC:string;
end;
TA=class(TBase)
public
function AAA:string;
function BBB:string;override;
function CCC:string;reintroduce;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
obj:TA;
begin
obj:=TA.Create;
//ShowMessage(obj.AAA); {TA AAA}
//ShowMessage(TBase(obj).AAA);{BASE AAA}
//ShowMessage(obj.BBB);{TA BBB}
//ShowMessage(TBase(obj).BBB);{TA BBB}
//ShowMessage(obj.CCC);{TA CCC}
//ShowMessage(TBase(obj).CCC); {BASE CCC}
end;
{ TA }
function TA.AAA: string;
begin
Result:='TA AAA';
end;
function TA.BBB: string;
begin
Result:='TA BBB';
end;
function TA.CCC: string;
begin
Result:='TA CCC';
end;
{ TBase }
function TBase.AAA: string;
begin
Result:='Base AAA';
end;
function TBase.BBB: string;
begin
Result:='Base BBB';
end;
function TBase.CCC: string;
begin
Result:='Base CCC';
end;
end.