[PHP面向對象]②--類、構造函數、析構函數

類的定義和實例化

<?php

class NbaPlayer
{
    public $name = "Jordan";
    public $height = "198cm";
    public $weight = "98kg";
    public $team = "Bull";
    public $playerNumber = "23";

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

}

$jordan = new NbaPlayer();
echo $jordan->name;
$jordan->run();
?>

構造函數

<?php
//peoples republic of china
date_default_timezone_set("PRC");

class NbaPlayer
{
    public $name = "Jordan";
    public $height = "198cm";
    public $weight = "98kg";
    public $team = "Bull";
    public $playerNumber = "23";

    function __construct($name, $height)
    {
        $this->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();
?>

析構函數

<?php
//peoples republic of china
date_default_timezone_set("PRC");

class NbaPlayer
{
    public $name = "Jordan";
    public $height = "198cm";
    public $weight = "98kg";
    public $team = "Bull";
    public $playerNumber = "23";

    function __construct($name, $height)
    {
        $this->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;//主動調用析構函數 不調用該方法會執(zhí)行From now on再析構
echo "From now on jordan will not be used.\n";
?>
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."<br/>";
//$jordan->run();
$jordan = null;//主動調用析構函數 不調用該方法會執(zhí)行From now on再析構
echo "From now on jordan will not be used.";
Paste_Image.png

對象不再被使用才會觸發(fā)析構函數

$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."<br/>";
$jordan1=$jordan;
$jordan = null;//主動調用析構函數 不調用該方法會執(zhí)行From now on再析構
echo "From now on jordan will not be used."."<br/>";
Paste_Image.png
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."<br/>";
$jordan1=&$jordan;
$jordan = null;//主動調用析構函數 不調用該方法會執(zhí)行From now on再析構
echo "From now on jordan will not be used."."<br/>";
Paste_Image.png
Paste_Image.png
$jordan = new NbaPlayer('hehe', '220cm');
echo $jordan->name."<br/>";
$jordan1=$jordan;
$jordan2=&$jordan;
$jordan1 = null;//主動調用析構函數 不調用該方法會執(zhí)行From now on再析構
$jordan2=null;
echo "From now on jordan will not be used."."<br/>";
Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容