考慮假想對象層次,首先是:德爾福:方法「創建」隱藏基地的虛方法 - 但它是正確的有
TFruit = class(TObject)
public
constructor Create(Color: TColor); virtual;
end;
及其後代:
TApple = class(TFruit)
public
constructor Create(); overload; virtual;
constructor Create(Color: TColor); overload; override; //deprecated. Calls other constructor - maintaining the virtual constructor chain
end;
的想法在這裏我已經覆蓋的虛擬基類的構造函數,與過載也碰巧是虛擬的。
德爾福抱怨:
方法「創建」隱藏了基類型的虛擬方法TFruit「
除了它並不能掩蓋它 - 它就在那裏!
- 我壓倒在祖先的虛方法,並
- 我超載它與其他版本
這是怎麼回事?
我得到「方法‘創建’隱藏了基類型‘TFruit’的虛方法」;你真的得到「基礎型」TApple'「嗎? – hvd 2012-02-01 21:09:38
@RBA在這種情況下,警告不正確,儘管您可以使用'reintroduce;'來避免它。 – hvd 2012-02-01 21:12:53
這是特定於Delphi 5嗎? – EMBarbosa 2012-02-02 00:33:23