在Delphi中如何隐藏一个构造方法 ( 积分: 100 )

  • 主题发起人 主题发起人 zy61
  • 开始时间 开始时间
Z

zy61

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个类,不希望其他单元的类创建,甚至,只能通过其他途径,比如其他类的属性或者类方法得到。但是Delphi中似乎一个类总是有一个可以用的构造方法。如果我将这个类的构造方法定义为Protected但是这样基类的构造方法就可以用了。这样其他的单元总是可以用Txx.create(...)的方式创建对象,我似乎没有办法在编译时阻止这个事情。
 
我有一个类,不希望其他单元的类创建,甚至,只能通过其他途径,比如其他类的属性或者类方法得到。但是Delphi中似乎一个类总是有一个可以用的构造方法。如果我将这个类的构造方法定义为Protected但是这样基类的构造方法就可以用了。这样其他的单元总是可以用Txx.create(...)的方式创建对象,我似乎没有办法在编译时阻止这个事情。
 
>>不希望其他单元的类创建

要你这个类有什么用?

在单元里写个全局函数,返回你的类的一个实例

function GetMyPrivateClass:TMyPrivateClass;
begin
Result:=TMyPrivateClass.Create;
end;
 
function GetMyPrivateClass:TMyPrivateClass;
begin
Result:=TMyPrivateClass.Create;
end

 
又一个钻牛角尖的例子
楼主,这样的想法是没什么用的,你这个单元又不是广范散播,自己用的自己知道怎样调用嘛,何必要钻这个牛角尖呢
 
我的类实现了接口,其他单元可以使用接口,但是接口的获得方法是被控制的。
 
不好意思 to huyongxiao,wk_knife,
我是想把分给你们的,结果失误了,给了colonel。
实在对不住
 
后退
顶部