gpt4 book ai didi

delphi - 如何定义一个必须继承的基类?

转载 作者:行者123 更新时间:2023-12-03 14:59:23 29 4
gpt4 key购买 nike

我创建了一个组件,它的自身永远不应该被实例化,而必须被继承。与TThread 类似的概念。我可以对此组件做些什么来确保它永远不会在不被继承的情况下被自身实例化?例如,当实例化对象时,引发该类需要继承的异常,或者如果可能的话,甚至不要让任何项目在尝试此组件基础实例的地方进行编译。

最佳答案

在XE2中,您可以将类声明为抽象类:

type TMyclass = class abstract (TAncestor)

更新:Delphi 似乎仍然允许创建抽象类(尽管某些版本的文档说不允许)。不过编译器应该给出警告。

可能你的类有一些必须重写的虚拟方法(这就是为什么它必须继承)。如果是这样,只需将该方法抽象,在基类中调用它时就会出现异常。

关于delphi - 如何定义一个必须继承的基类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747527/

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