delphi – 如何在类重载的时候隐藏继承的TObject构造函数?

前端之家收集整理的这篇文章主要介绍了delphi – 如何在类重载的时候隐藏继承的TObject构造函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看看这个课程:
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;
原文链接:https://www.f2er.com/delphi/102608.html

猜你在找的Delphi相关文章