如何阻止父类(super class)中的函数/过程在Delphi(2007)的子类中被重写?
我想标记它以便不能更改,我相信这里有一个最终关键字,但是我一生无法找到它的文档,因此我不是100%确信这就是我所需要的。
最佳答案
正如您所想,关键字是final
。参见http://dn.codegear.com/article/34324和http://blogs.teamb.com/rudyvelthuis/2005/05/13/4311。另外,您可以将您的类(class)标记为已密封,以防止任何人从其继承。您需要的Delphi版本高于7。
type
TSomeClass = class
protected
procedure SomeVirtualMethod; virtual;
end;
TOtherClass = class(TSomeClass)
protected
procedure SomeVirtualMethod; override; final;
end;