【发布时间】:2019-03-09 23:56:42
【问题描述】:
在一段代码中,我遇到了一个一开始就有这个功能的类:
private function __construct() {
}
为什么顶部会有一个空函数?这有什么目的吗?还是这取决于代码的其余部分?如果确实如此,任何人都可以给我一个有用的例子。
【问题讨论】:
在一段代码中,我遇到了一个一开始就有这个功能的类:
private function __construct() {
}
为什么顶部会有一个空函数?这有什么目的吗?还是这取决于代码的其余部分?如果确实如此,任何人都可以给我一个有用的例子。
【问题讨论】:
这样做的唯一目的是阻止人们使用 new 关键字实例化类(注意构造函数是私有的)。
【讨论】:
使用私有构造函数可以创建一个不能被实例化的类。例如,当它只包含静态方法时。例如,在实现factory pattern 的类中很常见。
【讨论】: