007-对象—— static静态方法属性内存构成及使用方法讲解

<?php
/* 7 对象 static静态方法属性内存构成及使用方法讲解
 */
/*class a{
    public $uname=11;
    static public function _a(){  //带着static 这个方法是服务于类的。  不带static就是服务于对象的
        echo 222;
    }
}
$b=new a();
$b->_a();//输出:222
a::_a();//输出:222*/

//静态方法重写时必须是静态方法。
/*class c{
    static function cc(){
        echo 11;
    }
}

class d extends c{
    static function cc(){
        echo 333;
    }
}*/

class e{
    public $uname;
    static $obj=NULL;
    private function __construct()
    {

    }
    static function getObj(){
        if (is_null(self::$obj)){
            self::$obj=new e();
        }
        return self::$obj;
    }
}
$d=e::getObj();
$d->uname=100;
echo $d->uname."<br/>";

$e=e::getObj();
echo $e->uname;

$e->uname=200;
echo $e->uname."<br/>";
echo $d->uname;

  

原文地址:https://www.cnblogs.com/yiweiyihang/p/7975224.html