魏
魏启明
Unregistered / Unconfirmed
GUEST, unregistred user!
这样的一个类结构:
type
TParamSubForm = class(TForm)
private
function Check: Boolean; virtual; abstract;
public
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; virtual;
procedure Load; virtual; abstract;
procedure Save; virtual; abstract;
end;
var
ParamSubForm: TParamSubForm;
implementation
{$R *.dfm}
constructor TParamSubForm.Create(AOwner: TComponent; AParent: TWinControl);
begin
inherited Create(AOwner);
Parent := AParent;
Align := alClient;
BorderStyle := bsNone;
end;
end.
…………
两个不懂的地方:
1、Create的再构造,为什么要加reintroduce关键字?
当这个类的体系从TPersistent到TComponent继承时,同样的改变了构造器的参数。但并没有使用reintroduce,而为什么此处需要(不加也只是Hint)。
2、三个纯虚函数
function Check: Boolean; virtual; abstract;
procedure Load; virtual; abstract;
procedure Save; virtual; abstract;
为什么只有Check被提示未被使用,他们只是对应子类时的可见度不同罢了
type
TParamSubForm = class(TForm)
private
function Check: Boolean; virtual; abstract;
public
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; virtual;
procedure Load; virtual; abstract;
procedure Save; virtual; abstract;
end;
var
ParamSubForm: TParamSubForm;
implementation
{$R *.dfm}
constructor TParamSubForm.Create(AOwner: TComponent; AParent: TWinControl);
begin
inherited Create(AOwner);
Parent := AParent;
Align := alClient;
BorderStyle := bsNone;
end;
end.
…………
两个不懂的地方:
1、Create的再构造,为什么要加reintroduce关键字?
当这个类的体系从TPersistent到TComponent继承时,同样的改变了构造器的参数。但并没有使用reintroduce,而为什么此处需要(不加也只是Hint)。
2、三个纯虚函数
function Check: Boolean; virtual; abstract;
procedure Load; virtual; abstract;
procedure Save; virtual; abstract;
为什么只有Check被提示未被使用,他们只是对应子类时的可见度不同罢了