php構(gòu)造函數(shù)與析構(gòu)函數(shù)

字號(hào):


    php構(gòu)造函數(shù)是對(duì)象創(chuàng)建完成后,第一個(gè)自動(dòng)調(diào)用的方法,析構(gòu)函數(shù)是當(dāng)對(duì)象被釋放之前最后一個(gè)自動(dòng)調(diào)用的方法。本文章向大家介紹php構(gòu)造函數(shù)與析構(gòu)函數(shù)。
    php構(gòu)造函數(shù)
    1.是對(duì)象創(chuàng)建完成后,“第一個(gè)”“自動(dòng)調(diào)用”的方法 
    2.構(gòu)造方法的定義,方法名是一個(gè)固定的, 
    在php4中:和類名相同的方法就是構(gòu)造方法 
    在php5中:構(gòu)造方法選擇使用 魔術(shù)方法__construct() 所有類中聲明構(gòu)造方法都使用這個(gè)名稱 
    優(yōu)點(diǎn):在改變類名時(shí),構(gòu)造方法不用改變 
    魔術(shù)方法: 在類中寫出了某個(gè)魔術(shù)方法,這個(gè)方法對(duì)應(yīng)的功能就會(huì)添加上 
    方法名稱都是固定的(都是系統(tǒng)提供好的),沒(méi)有自己定義的 
    每一個(gè)魔術(shù)方法,都是在不同時(shí)刻為了完成某一功能自動(dòng)調(diào)用的方法 
    不同的魔術(shù)方法有不同的調(diào)用時(shí)機(jī) 
    都是以 __ 開(kāi)頭的方法 
     __construct(); __destruct(); __set();......
    作用:為成員屬性初始化;
    php析構(gòu)函數(shù)
    1.當(dāng)對(duì)象被釋放之前最后一個(gè)“自動(dòng)”調(diào)用的方法 
    使用垃圾回收器(java php),而c++手動(dòng) 的釋放 
    作用:關(guān)閉一些資源,作一些清理的工作
    __destruct();
    php構(gòu)造函數(shù)與析構(gòu)函數(shù)實(shí)例:
    class Person{ 
    var $name; 
    var $age; 
    var $sex; 
    //php4中的構(gòu)造方法 
    /*function Person() 
    { 
    //每聲明一個(gè)對(duì)象都會(huì)調(diào)用 
    echo "1111111111111111"; 
    }*/
    //php5中的構(gòu)造方法 
    function __construct($name,$age,$sex){ 
    $this->name=$name; 
    $this->age=$age; 
    $this->sex=$sex; 
    } 
    function say(){ 
    //$this->name;//對(duì)象中成員的訪問(wèn)使用$this 
    echo "我的名字:{$this->name},我的年齡:{$this->age}<br>"
    } 
    function run(){ 
    } 
    function eat(){ 
    } 
    //析構(gòu)方法 
    function __destruct(){ 
    } 
    } 
    $p1=new Person("zhangsan",25,"男"); 
    $p2=new Person; 
    $p3=new Person;