gpt4 book ai didi

delphi - 属性覆盖

转载 作者:行者123 更新时间:2023-12-03 18:39:38 25 4
gpt4 key购买 nike

我有一个从TParent派生的类TChild。 TParent具有MyProp属性,该属性正在读取和设置数组中的某些值。当然,该属性是由TChild继承的,但是我想在child的属性中添加一些额外的处理。下面的代码更好地解释了我想做什么,但它不起作用。我该如何实施?

TParent = class...
private
function getStuff(index: integer): integer; virtual;
procedure setStuff(index: integer; value: integer); virtual;
public
property MyProp[index: integer] read GetStuff write SetStuff
end;

TChild = class...
private
procedure setStuff(index: integer; value: integer); override;
function getStuff(index: integer): integer; override;
public
property MyProp[index: integer] read GetStuff write SetStuff
end;

procedure TChild.setStuff(value: integer);
begin
inherited; // <-- execute parent 's code and
DoMoreStuff; // <-- do some extra suff
end;

function TChild.getStuff;
begin
result:= inherited; <---- problem was here
end;

最佳答案

解决了。
子功能实现错误。基本上,该代码有效。
解决方案是:

Result := inherited getStuff(Index);

关于delphi - 属性覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1923747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com