delphi – 如何在类重载的时候隐藏继承的TObject构造函数?
发布时间:2020-12-15 06:09:54 所属栏目:大数据 来源:网络整理
导读:看看这个课程: TTest = class(TObject) public constructor Create(A:Integer);overload; constructor Create(A,B:Integer);overload; end; 现在我们要使用类: var test: TTest; begin test:= TTest.Create; //this constructor is still visible and usab
看看这个课程:
TTest = class(TObject) public constructor Create(A:Integer);overload; constructor Create(A,B:Integer);overload; end; 现在我们要使用类: var test: TTest; begin test:= TTest.Create; //this constructor is still visible and usable! end; 任何人都可以帮我隐藏这个构造函数? 解决方法
只要你有重载的名为Create的构造函数,在从TObject派生时,不能隐藏无参数的TObject构造函数.
这在这里讨论:http://www.yanniel.info/2011/08/hide-tobject-create-constructor-delphi.html 如果你准备在你的类和TObject之间放置另一个类,你可以使用Andy Hausladen’s trick: TNoParameterlessContructorObject = class(TObject) strict private constructor Create; end; TTest = class(TNoParameterlessContructorObject) public constructor Create(A:Integer);overload; constructor Create(A,B:Integer);overload; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |