ITPub博客

首页 > IT职业 > IT职场 > PHP笔记:静态方法获取实例

PHP笔记:静态方法获取实例

IT职场 作者:hoonty 时间:2021-09-09 09:06:56 0 删除 编辑

如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。

class Car {
private function __construct() {
echo 'object create';
}

private static $_object = null;
public static function getInstance() {
    if (empty(self::$_object)) {
        self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象
    }
    return self::$_object;
}

}
//$car = new Car(); //这里不允许直接实例化对象
$car = Car::getInstance(); //通过静态方法来获得一个实例

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4222/viewspace-2799628/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-12

  • 博文量
    94
  • 访问量
    1271