Fab*_*zio 5 delphi inheritance overriding
我有一个带虚函数的基类:
TMyBaseClass = class(TObject)
public
ValueOne : integer;
procedure MyFunction(AValueOne : integer); virtual;
end;
procedure TMyBaseClass.MyFunction(AValueOne : integer);
begin
ValueOne := ValueOne;
end;
Run Code Online (Sandbox Code Playgroud)
后代类实现具有相同名称的函数.此函数添加一个新参数并调用其anchestor的函数.
TMyDerivedClass = class(TMyBaseClass)
public
ValueTwo : integer;
procedure MyFunction(AValueOne : integer; AValueTwo : integer);
end;
procedure TMyDerivedClass.MyFunction(AValueOne : integer; AValueTwo : integer);
begin
inherited MyFunction(AValueOne);
ValueTwo := ValueTwo;
end;
Run Code Online (Sandbox Code Playgroud)
编译时,会显示以下警告消息:W1010方法
'MyFunction'隐藏基类型'TMyBaseClass'的虚方法
我找到了解决另一个问题的问题的解决方案,但我想知道是什么导致了这个警告.TMyDerivedClass.MyFunction是否隐藏TMyBaseClass.MyFunction,即使这两个函数具有不同的参数?如果是这样,为什么?
| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |