構造函數與析構函數 – PHP面向對象編程(OOP)

    這兩個函數用于對象生命周期結束前和對象生命周期結束后自動執行

    PHP 構造函數

    構造函數是一種特殊的方法。主要用來在創建對象時初始化對象, 即為對象成員變量賦初始值,在創建對象的語句中與?new?運算符一起使用。

    PHP 5 允許開發者在一個類中定義一個方法作為構造函數,語法格式如下:

    void __construct ([ mixed $args [, $... ]] )

    在上面的例子中我們就可以通過構造方法來初始化 $url 和 $title 變量:

    function __construct( $par1, $par2 ) {
       $this->url = $par1;
       $this->title = $par2;
    }

    現在我們就不需要再調用 setTitle 和 setUrl 方法了:

    使用構造函數前

    $runoob = new Site;
    $taobao = new Site;
    $google = new Site;
    
    // 調用成員函數,設置標題和URL
    $runoob->setTitle( "菜鳥教程" );
    $taobao->setTitle( "淘寶" );
    $google->setTitle( "Google 搜索" );
    
    $runoob->setUrl( 'www.runoob.com' );
    $taobao->setUrl( 'www.taobao.com' );
    $google->setUrl( 'www.google.com' );

    使用構造函數后

    $runoob = new Site('www.runoob.com', '菜鳥教程');
    $taobao = new Site('www.taobao.com', '淘寶');
    $google = new Site('www.google.com', 'Google 搜索');
    
    // 調用成員函數,獲取標題和URL
    $runoob->getTitle();
    $taobao->getTitle();
    $google->getTitle();
    
    $runoob->getUrl();
    $taobao->getUrl();
    $google->getUrl();

    析構函數

    析構函數(destructor) 與構造函數相反,當對象結束其生命周期時(例如對象所在的函數已調用完畢),系統自動執行析構函數

    PHP 5 引入了析構函數的概念,這類似于其它面向對象的語言,其語法格式如下:

    void __destruct ( void )

    實例

    <?php
    class MyDestructableClass {
       function __construct() {
           print "構造函數n";
           $this->name = "MyDestructableClass";
       }
    
       function __destruct() {
           print "銷毀 " . $this->name . "n";
       }
    }
    
    $obj = new MyDestructableClass();
    ?>

    執行以上代碼,輸出結果為:

    構造函數
    銷毀 MyDestructableClass

    參考文章

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 亚洲AV无码一区二区三区人 | 91精品一区二区综合在线| 午夜福利无码一区二区| 精品亚洲一区二区三区在线观看| 99精品一区二区三区| 精品国产一区在线观看| 国产精品夜色一区二区三区| 中文字幕精品一区| 国产一区二区视频在线播放| 国产综合视频在线观看一区| 久久高清一区二区三区| 久久久久99人妻一区二区三区| 成人一区二区免费视频| 精品视频一区二区三区四区五区| 国产成人高清亚洲一区91| 国产成人久久一区二区三区| 精品国产一区二区三区| 亚洲一区二区三区四区视频| 少妇精品久久久一区二区三区| 久久久久久免费一区二区三区| 真实国产乱子伦精品一区二区三区 | 无码日韩精品一区二区人妻| 国产精品无码亚洲一区二区三区| 亚洲AV无码国产一区二区三区| 国产日韩精品视频一区二区三区| 大香伊人久久精品一区二区 | 亚洲毛片不卡av在线播放一区| 在线视频一区二区三区四区| 国产在线一区二区三区av| 视频一区二区三区人妻系列| 夜夜精品无码一区二区三区| 三上悠亚国产精品一区| 色老头在线一区二区三区| 2022年亚洲午夜一区二区福利| 精品人妻系列无码一区二区三区| 国产成人精品第一区二区| 后入内射国产一区二区| 色噜噜AV亚洲色一区二区| 久久国产精品一区免费下载| 日本一道高清一区二区三区 | 红桃AV一区二区三区在线无码AV|