假设我有一个基类:
TPart = class
private
FPartId: Integer;
public
property PartId: Integer read FPartId write FPartId;
end;
我有一个通用列表:
TPartList = class(TObjectList<TPart>)
public
function IndexOfPart(PartId: Integer): Integer;
end;
现在,如果我从我的 TPart 下降:
TModulePart = class(TPart)
private
FQuantity: Integer;
public
property Quantity: Integer read FQuantity write FQuantity;
end;
我现在想创建一个 TPartList 的后代,但能够返回一个 TModulePart 项。这样做:
TModulePartList = class(TPartList)
end;
默认情况下会认为 Items 属性的类型是 TPart 而不是 TModulePart (自然)。我不想这样做:
TModulePartList = class(TObjectList<TModulePart>)
end;
因为那时我错过了从 TPartList 中可能拥有的常用方法的继承。
有可能吗?
谢谢