单例模式只允许有一个全局唯一的对象
单例模式只允许有一个全局唯一的对象 这句话的意思 单例模式是什么意思哎
单例模式只允许有一个全局唯一的对象 这句话的意思 单例模式是什么意思哎
2017-09-10
只能new 一次就是实例化一次:你每次需要用这各类都要去实例化(也就是去new)这样每次都需要开辟内存空间>>>重复使用这个类时就会占用更多的空间>>>>为了解决内存占用 >>>>就把构造方法给私有化
【
private function __construct() {
echo 'object create';
}
】
这样在其他类中无法实例化这个类(那要怎样实例化那)>>>这是就会用到静态公开方法>>>
public static function getInstance() {
if (empty(self::$_object)) {
self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象
}
return self::$_object;
}
public static function getInstance()这个方法能直接被其他类调用 因为这个方法可以调用这个类的内部的所有方法 所以这个方法就是个中介
不懂可以继续追问 要理解单列模式之前一定要把 public(公有),protected(受保护)和private(私有之一)的作用域搞懂
举报