面向对象

扫码查看

静态(static)

  静态变量

    

    普通变量和静态变量调用:

    car.php

<?php

class car
{

    // 颜色
    public $color = 'yellow';

    // 数量
    static $count = 5;

    // 车1
    public function car1()
    {

        // 函数内的静态变量结束后不会销毁,普通变量会销毁。
        static $fun_color = 0;
        $fun_count = 0;

        $fun_color++;
        $fun_count++;
        echo '静态变量fun_color:'.$fun_color."<br />";
        echo '普通变量fun_count:'.$fun_count."<br />";


        // 获取颜色 (普通变量)
        echo $this->color."<br />";

        // 获取数量 (静态变量)
        echo $this::$count."<br />";
        echo self::$count."<br />";
        echo car::$count."<br />";
    }
}

class small_car extends car
{
    public function sCar1()
    {
        // 可使用父类的静态变量
        echo $this::$count."<br />";
        echo self::$count."<br />";
        echo car::$count."<br />";
    }
}

    index.php

<?php

include 'car.php';

$car = new car();
$sCar = new small_car();

// 获取车的颜色  (类的普通变量)
echo $car->color."<br />";


// 获取车的数量  (类的静态变量)
echo \car::$count."<br />";
echo $car::$count."<br />";

// 通过子类调用父类的静态变量
echo $sCar::$count."<br />";
$sCar->Car1();

// 函数内的静态变量结束后不会销毁,普通变量会销毁。
$car->car1();
$car->car1();
$car->car1();

// 子类不能调用父类的普通变量,会报错
// echo $scar->color;

    

01-25 08:47
查看更多