前端之家收集整理的这篇文章主要介绍了
delphi – 如何隐藏对象的受保护过程?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在一个基类中,有一个受保护的过程.继承该类时,我想隐藏该程序,使其不被外部使用.我尝试从私有甚至严格的私有部分覆盖它,但它仍然可以从外部
调用. Original类不是我的,所以我无法改变TOriginal的定义方式.
是否可以在我继承的类中隐藏此过程?如何?
type
TOriginal = class(TObject)
protected
procedure SomeProc;
end;
TNew = class(TOriginal)
strict private
procedure SomeProc; override;
end;
受保护的
方法已经从外部隐藏. (主要是;见下文.)您无法降低类成员的可见性.如果基类声明
方法受保护,那么该类的所有后代都可以使用该
方法.
在Delphi中,与类相同的单元中的其他代码可以访问该类的受保护成员,甚至是来自不相关类的代码.这有时很有用,但通常可以解决其他设计缺陷.如果你有“真的,真的”应该受到保护的东西,你可以严格保护它,然后特殊的同一单元访问规则不适用.
原文链接:https://www.f2er.com/delphi/101919.html