2 ms csdn MS_CSDN 于 2015.06.16 19:40 提问

关于私有构造函数的疑惑

实例类可以将构造方法设置为私有,这个时候不允许类直接实例化,小弟有些不明白,这样做有什么特别的意思?或是说特别用途?那种情况下这样做,比较好?请大神帮忙解惑,谢谢

5个回答

Evankaka
Evankaka   Ds   Rxr 2015.06.16 23:25
已采纳

一般是用来设计单例模式,就整个工程只有一个实例对象

MS_CSDN
MS_CSDN 恩,去了解下,这样做的目的,更多的是适用于单例模式,谢谢你的回复
2 年多之前 回复
gamefinity
gamefinity   Rxr 2015.06.16 20:52

可以被自己的静态函数创建。

MS_CSDN
MS_CSDN 额,谢谢你的回复,初识,不太了解,如果能更详细点,就很感谢了,先了解下单例模式,回过头也许能更好的理解,呵呵,谢谢,师兄
2 年多之前 回复
gamefinity
gamefinity 因此对单例模式有用
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.16 21:24

就是不能直接构造对象,而需要特定public的函数来生成对象。类似工厂模式

MS_CSDN
MS_CSDN 呵呵,谢谢你的回复,看来这样做还是和设计模式相关,先了解下,相关模式,如有不明白,再请教,谢谢师兄
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.16 23:31

我记得单例模式里面就是私有构造方法,等,一般设计模式居多,为了安全性吧这样用

MS_CSDN
MS_CSDN 谢谢你的回答,我想类不同的构建方式是总是有它的道理和用途的,只是不太明白需要这样设计的情景
2 年多之前 回复
miracle_yao
miracle_yao   2015.07.28 14:38

有些时候某些类不适宜在外部实例化,请参考设计模式-单例模式的实现。

Csdn user default icon
上传中...
上传图片
插入图片