美文网首页
静态类的相关操作

静态类的相关操作

作者: 洞房花猪 | 来源:发表于2016-08-23 14:25 被阅读3次
    静态类的相关操作(1)
    class A
    {
        public static $a;
    
        private static $b;
    
        //protected static $c
    
        public static function aaa()
        {
            self::$a = '3434'; //不可以使用$this->$a = '3434';
            self::$b = '4545'; //不可以使用$this->$b = '4545';
            //self::$c = '6767';
        }
    }
    
    A::aaa();
    echo A::$a;  //输出3434
    echo A::$b;  //不可以输出,错误的用法
    //echo A::$c;  //不可以输出,错误的用法
    
    静态类的相关操作(2)
    class A
    {
        private static $aa;
    
        public static function aaa($app)
        {
            self::$aa = $app;
            var_dump(self::$aa);
        }
    
        public static function app()
        {
            return self::$aa;
        }
    
    }
    // A::aaa();
    
    Class B
    {
        private $ba;
        private $bb;
    
        public function bbb()
        {
            $this->bb = '3333';
            A::aaa($this);
            $this->ba = '4444';
        }
    }
    $B = new B;
    $B->bbb();
    var_dump(A::app());die;
    //下图为程序运行结果
    
    静态类相关操作.png
    • 从上面的截图可以发现当我们将B类的对象给A静态类中的$aa静态变量时,B类对象中的$ba是null.继续给B类对象中的$ba赋值,静态类A中静态变量$aa也相应的改变了.

    相关文章

      网友评论

          本文标题:静态类的相关操作

          本文链接:https://www.haomeiwen.com/subject/bgfnsttx.html