7.3.5 PHP析構方法

7.3.5 PHP析構方法

與構造函數相對的就是析構函數。析構函數是PHP5新添加的內容,在PHP4中沒有析構函數。析構函數是在對象被銷毀之前自動調用的方法,主要執行一些特定的操作,例如關閉文件,釋放結果集等。

與構造函數的名稱類似,一個類的析構函數名稱必須是兩個下劃線 _ _destruct( )。析構函數不能帶有任何參數。
例如:

<?php
    class Person {                      
             //聲明的析構方法,在對象銷毀前自動調用
             public function __destruct() {
                       echo "再見".$this->name."<br>";
              } 
     } 

boyfriend.class.php

<?php
/*
 *  屬性
 *      性別:男
 *      年齡: 24
 *      身高: 175cm
 *      眼睛: 大
 *
 *
 *  行為
 *
 *      做飯
 *      做家務
 *  
 *   class 類名  {
 *      
 *
 *   }
 *
 *   注意:  在類的成員屬性前面一定要有一個修飾詞, 如果不知道使用什么修飾詞, 就可以使用var (關鍵字), 如果一旦有其它的修飾詞就不要有var
 *
 *
 *  只要是對象中的成員, 就必須使用這個對象來訪問到這個對象內部的屬性和方法
 *
 *
 *   構造方法
 *
 *      1. 是對象創建完成以后, 第一個 自動調用的方法(特殊)
 *      2. 方法名稱比較特殊  可以和類名相同名的方法名
 *      3. 給對象中的成員賦初值使用的 *
 *
 *     魔術方法 __construct();
 *
 *  */


    

    class BoyFriend {
        //變量 (成員屬性)
        var $name;
        var $age;
        var $sex;
    

        function __construct($name, $age, $sex="男") {
            $this->name = $name;
            $this->age = $age;
            $this->sex = $sex;

            echo "222222222222222<br>";

            
        }



        //函數 (成員方法)
        public function doFan() {
        

            echo "{$this->name} 有做飯的功能<br>";

            $this->doJW();
        }

        function doJW() {
            echo "做家務的功能<br>";
        }


        function __destruct() {
            echo "{$this->name} 再見! <br>";
        }
    }

    $bf1 = new  BoyFriend("高洛峰", 28);

    $bf2 = new BoyFriend("高老師", 26, "男");



     $bf1 -> doFan();
    $bf2 -> doFan();

    $bf1=null;

test.php

<?php
    include "boyfriend.class.php";
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容