在什么情况下应该将类构造函数设为私有
可能的重复项:
In a PHP5 class, when does a private constructor get called?
我最近一直在阅读有关OOP的文章,遇到了这个私有构造函数场景。我在谷歌上搜索了一下,但找不到任何与PHP相关的东西。
在PHP中
- 何时必须定义私有构造函数?
- 使用私有构造函数的目的是什么?
- 使用私有构造函数的优缺点是什么?
解决方案
何时必须定义私有构造函数?
class smt
{
private static $instance;
private function __construct() {
}
public static function get_instance() {
{
if (! self::$instance)
self::$instance = new smt();
return self::$instance;
}
}
}
使用私有构造函数的目的是什么?
它确保一个类只能有一个实例,并提供到该实例的全局访问点,这在Singleton模式中很常见。
使用私有构造函数的利弊是什么?
Are Singletons really that bad?
What is so bad about singletons?
相关文章