求解释下列代码

来源:2-7 PHP类和对象之访问控制

慕粉8387356

2018-09-27 22:00

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回答

  • rafa_gao
    2018-09-27 23:08:35
    已采纳

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

    private static $_object = null

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

    public static function getInstance()

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

    $car = Car::getInstance();

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

    楼主是在学单例模式吗

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

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

    慕粉8387...

    谢谢?,最近被这个绕晕了

    2018-09-28 23:14:09

    共 1 条回复 >

PHP进阶篇

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

181727 学习 · 2575 问题

查看课程

相似问题