如何阻止父类(super class)中的函数/过程在Delphi(2007)的子类中被重写?

我想标记它以便不能更改,我相信这里有一个最终关键字,但是我一生无法找到它的文档,因此我不是100%确信这就是我所需要的。

最佳答案

正如您所想,关键字是final。参见http://dn.codegear.com/article/34324http://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;

09-10 08:46