php什麼是建構函數

(*-*)浩
發布: 2023-02-24 11:42:02
原創
3631 人瀏覽過

php建構子是類別中的一個特殊函數,當使用 new 運算元建立一個類別的實例時,建構子將會自動呼叫。

php什麼是建構函數

當函數與類別同名時,這個函數將成為建構子。

如果一個類別沒有建構函數,則呼叫基底類別的建構函數,如果有的話,則呼叫該建構函數。 (推薦學習:PHP程式設計從入門到精通

<?php
class Auto_Cart extends Cart {
    function Auto_Cart(){
        $this -> add_item("10", 1);
    }
}
?>
登入後複製

上文定義了一個Auto_Cart 類,即Cart 類別加上一個建構函數,當每次都使用「new」建立一個新的Auto_Cart 類別實例時,建構子會自動呼叫並將一件商品的數目初始化為「10」。

建構函式可以使用參數,而且這些參數可以是可選的,它們可以讓建構子更有用。為了依然可以不帶參數地使用類,所有建構函數的參數應該提供預設值,使其可選。

<?php
class Constructor_Cart extends Cart {
    function Constructor_Cart($item = "10", $num = 1){
        $this -> add_item($item, $num);
    }
}
//买些同样的无聊老货
$default_cart = new Constructor_Cart;
//买些实在货...
$different_cart = new Constructor_Cart("20", 17);
?>
登入後複製
void __construct ([mixed $args [, $... ]])
登入後複製

PHP 5 允行開發者在一個類別中定義一個方法作為建構子。具有建構函式的類別會在每次建立物件時先呼叫此方法,所以非常適合在使用物件之前做一些初始化工作。

注意

如果子類別中定義了建構函式則不會暗中呼叫其父類別的建構子。要執行父類別的建構函數,需要在子類別的建構子中呼叫parent::__construct()。

使用新標準的建構子:

<?php
class BaseClass{
    function__construct(){
        print "InBaseClassconstructor\n";
    }
}
 
class SubClass extends BaseClass{
    function__construct(){
        parent::__construct();
        print "InSubClassconstructor\n";
    }
}
 
$obj = new BaseClass();
$obj = new SubClass();
?>
登入後複製

以上是php什麼是建構函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!