为了账号安全,请及时绑定邮箱和手机立即绑定

求解释下列代码

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(); //通过静态方法来获得一个实例

其中 echo“object create”这个有什么作用???还有就是empty(self::$_object)是什么意思????

正在回答

1 回答

“object create”  就是告诉你,下面开始创建对象了(就是说的玩玩)

private static $_object = null

$_object是一个静态属性,给了一个内存,里面是空,不用实例化

public static function getInstance()

创建了一个静态方法,同样不需要实例化可以直接调用

$car = Car::getInstance();

给了这个函数创建类的权利

楼主是在学单例模式吗

如果是的话,可以看看这个视频

http://www.php.cn/code/23290.html

2 回复 有任何疑惑可以回复我~
#1

慕粉8387356 提问者

谢谢?,最近被这个绕晕了
2018-09-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP进阶篇
  • 参与学习       181728    人
  • 解答问题       2575    个

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

进入课程

求解释下列代码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信