小
小令
Unregistered / Unconfirmed
GUEST, unregistred user!
A.
重载过程时
1、直接写inherited;
2、inherited后面加过程名,如inherited create;
3、inherited后面加带参数的过程名,如inherited create(I:Integer);
有什么区别?我感觉它们之间好像没什么区别。
B.
例如:
procedure TCustomGrid.WMCancelMode(var Msg: TWMCancelMode);
begin
inherited; { this line }
CancelMode;//这个是不是对该方法的扩充
end;
C.其中Virtual,reintroduce是什么时候用?
TMyClass=Class
Procedure Test();virtual;
End;
TMyClass2=Class(TMyClass)
Procedure Test();override;
End;
TMyClass3=Class(TMyClass2)
Procedure Test(i:Integer);reintroduce;overload;virtual;
End;
TMyClass4=Class(TMyClass3)
Procedure Test(i:Integer);override;
End;
procedure TMyClass4.Test(i:Integer);
begin
inherited;//或
inherited Test;
end;
各位,不是我懒,不愿意看HELP文件.只是反复看来没看明白.
重载过程时
1、直接写inherited;
2、inherited后面加过程名,如inherited create;
3、inherited后面加带参数的过程名,如inherited create(I:Integer);
有什么区别?我感觉它们之间好像没什么区别。
B.
例如:
procedure TCustomGrid.WMCancelMode(var Msg: TWMCancelMode);
begin
inherited; { this line }
CancelMode;//这个是不是对该方法的扩充
end;
C.其中Virtual,reintroduce是什么时候用?
TMyClass=Class
Procedure Test();virtual;
End;
TMyClass2=Class(TMyClass)
Procedure Test();override;
End;
TMyClass3=Class(TMyClass2)
Procedure Test(i:Integer);reintroduce;overload;virtual;
End;
TMyClass4=Class(TMyClass3)
Procedure Test(i:Integer);override;
End;
procedure TMyClass4.Test(i:Integer);
begin
inherited;//或
inherited Test;
end;
各位,不是我懒,不愿意看HELP文件.只是反复看来没看明白.