静态类的相关操作(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也相应的改变了.
网友评论