我正在寫一個虛擬/抽象程序,我希望被覆蓋。但是,它們也可能不會被覆蓋,這也很好。問題是找出這些程序中的一個是否被實際覆蓋。如果他們沒有被覆蓋,我不應該試圖調用這些程序,而是需要改變一些不同的東西。如果我嘗試打電話給他們其中一個並且沒有被覆蓋,我得到Abstract Error
。如何確保未來的繼承覆蓋過程?
有沒有一種方法可以檢測這些程序是否被覆蓋?
這裏是他們是如何宣稱樣本:
type
TMyClass = class(TObject)
protected
procedure VProc; virtual;
procedure VAProc; virtual; abstract;
end;
我覺得你的方法必須是虛擬的,提高例外..如果方法呼叫提出這一例外 - 法未覆蓋 就像調用abstact方法會引發'EAbstractError'。它在子類中被重寫 - – teran 2012-02-26 14:12:23
仍然在調試模式下,我如果聲明的方法'abstract'得到'摘要Error' ... – 2012-02-26 14:15:45
。使他們全都是虛擬的並且聲明你自己的異常類型。 – teran 2012-02-26 14:17:59