gpt4 book ai didi

delphi - 创建抽象类函数的目的是什么

转载 作者:行者123 更新时间:2023-12-03 15:21:49 25 4
gpt4 key购买 nike

在 Delphi 中我经常看到这样的代码:

TmyClass = class
public
class function getSomething: integer; virtual; abstract;
end;

但是这样声明的目的是什么(即:类函数),因为调用 TmyClass.getSomething 总是会失败,因为它没有实现,即使它是在子类中实现的。

最佳答案

如果直接调用TmyClass.getSomething,则会失败,但与元类结合使用会很有用。它使您有机会定义抽象 API,就像在非类函数上一样。

例如:

TmyClassClass = class of TMyClass;

TmyClass1 = class(TmyClass)
public
class function getSomething: integer; override;
end;

var
c: TmyClassClass;

c := TmyClass1;
c.getSomething;
<小时/>

当然,您始终可以在对象实例上使用类函数,因此在 TMyClass1 对象实例上调用 getSomething 也可以。

关于delphi - 创建抽象类函数的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58778074/

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