[PHP面向对象]②--类、构造函数、析构函数

类的定义和实例化

name;
$jordan->run();
?>

构造函数

name = $name;//this 伪变量
        $this->height = $height;
    }

    //定义方法
    public function run()
    {
        echo "Running\n";
    }

    public function shoot()
    {
        echo "shooting\n";
    }
}

$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name;
$jordan->run();
?>

析构函数

name = $name;//this 伪变量
        $this->height = $height;
    }

    //定义方法
    public function run()
    {
        echo "Running\n";
    }

    //在该方法中释放资源
    function __destruct()
    {
        echo "destroying" . $this->name . "\n";
    }
}

$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name;
$jordan->run();
$jordan = null;//主动调用析构函数 不调用该方法会执行From now on再析构
echo "From now on jordan will not be used.\n";
?>
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."
"; //$jordan->run(); $jordan = null;//主动调用析构函数 不调用该方法会执行From now on再析构 echo "From now on jordan will not be used.";
Paste_Image.png

对象不再被使用才会触发析构函数

$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."
"; $jordan1=$jordan; $jordan = null;//主动调用析构函数 不调用该方法会执行From now on再析构 echo "From now on jordan will not be used."."
";
Paste_Image.png
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."
"; $jordan1=&$jordan; $jordan = null;//主动调用析构函数 不调用该方法会执行From now on再析构 echo "From now on jordan will not be used."."
";
Paste_Image.png
[PHP面向对象]②--类、构造函数、析构函数_第1张图片
Paste_Image.png
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."
"; $jordan1=$jordan; $jordan2=&$jordan; $jordan1 = null;//主动调用析构函数 不调用该方法会执行From now on再析构 $jordan2=null; echo "From now on jordan will not be used."."
";
Paste_Image.png

你可能感兴趣的:([PHP面向对象]②--类、构造函数、析构函数)