Art*_*tik 1 delphi variables scope superclass
我有两个类,一个派生自另一个.这些类都引入了具有相同名称的变量.派生类中的变量隐藏了超类中的变量.
如何从派生类的方法中引用超类的变量?
type
TClass1 = class
protected
FMyVar: Integer;
end;
TClass2 = class(TClass1)
protected
FMyVar: Integer;
public
procedure Foo;
end;
procedure TClass2.Foo;
begin
//here I want access to FMyVar from TClass1
end;
Run Code Online (Sandbox Code Playgroud)
没什么特别的.每个子类都可以自动访问其父类中的内容,但在父类中标记的成员除外private.
在与其父级相同的单元中声明的子类可以访问标记的成员private.strict private而是使用它来真正防止子类访问其继承的成员.
您可以通过演员获得访问权限:
procedure TClass2.Foo;
begin
DoSomething(TClass1(Self).FMyVar);
end;
Run Code Online (Sandbox Code Playgroud)
作为旁注,我建议你重新考虑你的设计.你走的路会导致混乱和错误.
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |