溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

構(gòu)造方法和析構(gòu)方法

發(fā)布時間:2020-06-13 08:30:14 來源:網(wǎng)絡 閱讀:760 作者:DemoHA 欄目:web開發(fā)

構(gòu)造函數(shù):

     

     1、在實例化類的時候會被自動觸發(fā);

     2、一個類只有一個構(gòu)造函數(shù);

     3、一般用于初始化操作;

     4、沒有返回值。

     語法:

     

function __construct([參數(shù)列表])
{
     .........
}

例子:

<?php
class Person
{   
    public $name;
    public $sex = '女';
    public $age;
    public $money;
    public $face;
    //構(gòu)造方法
    public function __construct($name,$age,$money,$face = '女人都是漂亮的')
    {
         //屬性初始化
         $this->name = $name;
         $this->age = $age;
         $this->money = $money;
         $this->face = $face;
    }
    public function say()
    {
        echo "我的名字是{$this->name},<br>我的年齡是{$this->age},<br>我有{$this->money}元錢,<br>{$this->face}";
    }

//實例化類并賦值

$lixiaolou = new Person('李小龍',11,1234);
$lixiaolou->say();

輸出的結(jié)果:

構(gòu)造方法和析構(gòu)方法


構(gòu)造方法和析構(gòu)方法

析構(gòu)函數(shù):

         1、 銷毀一個類之前執(zhí)行析構(gòu)函數(shù)

         2、先調(diào)用的后消失 后調(diào)用的先消失

         3、不能帶參數(shù)

語法:

function __destruct()
{
       ......
}

例子:


在上一個構(gòu)造函數(shù)源代碼的后面添加

public function __destruct()
    {
        echo "消失了{$this->name}<br>";
    }

輸出結(jié)果:

構(gòu)造方法和析構(gòu)方法

構(gòu)造方法和析構(gòu)方法

注意:析構(gòu)函數(shù)是   先調(diào)用的后消失 后調(diào)用的先消失

<?php
/**
* 定義一個“人類”
*/
class Person
{   
    public $name;
    public $sex = '女';
    public $age;
    public $money;
    public $face;
    //構(gòu)造方法
    public function __construct($name,$age,$money,$face = '女人都是漂亮的')
    {
         //屬性初始化
         $this->name = $name;
         $this->age = $age;
         $this->money = $money;
         $this->face = $face;
    }
    public function say()
    {
        echo "我的名字是{$this->name},<br>我的年齡是{$this->age},<br>我有{$this->money}元錢,<br>{$this->face}";
        $this->daojiu();
    }
    public function daojiu()
    {
        echo "給老板們倒酒<br/>";
    }
        //先調(diào)用的后消失 后調(diào)用的先消失
   //先是 陳 消失了  然后是 李小龍 消失
   public function __destruct()
    {
        echo "消失了{$this->name}<br>";
    }
}

$lixiaolou = new Person('李小龍',11,1234);
$lixiaolou->say();
 
echo "<hr>";
$senlin = new Person('陳',12,123);
$senlin->say();


輸出:

構(gòu)造方法和析構(gòu)方法構(gòu)造方法和析構(gòu)方法



注意:調(diào)用的順序和銷毀的順序是不一樣的。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI