中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

類中的構造函數與析構函數是什么

發布時間:2021-10-25 11:05:23 來源:億速云 閱讀:370 作者:iii 欄目:編程語言

本篇內容介紹了“類中的構造函數與析構函數是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

類中的構造函數與析構函數是什么

PHP類中構造函數也叫作構造器,當時用new關鍵字實例化一個對象時,它可以在對象被創建時自動調用,是類中的一個特殊函數。與之相對應的函數就是析構函數,析構函數的作用與構造函數正好相反,析構函數它可以在對象銷毀前執行操作。那接下來我們一起來看一看這兩個函數吧。

__construct():構造函數/方法

在PHP的類中,我們使用__construct()作為類的構造函數,構造函數是當對象被創建時,類中被自動調用的第一個函數,并且一個類中只能存在一個構造函數,并且需要注意的是,如果構造函數中有參數的話,那么實例化也需要傳入對應的參數。

構造函數創建的語法格式如下:

public function __construct(參數列表){
    ... ...
}

需要注意的是,其中的參數列表是可選的,不需要的時候可以省略。construct前面是兩個下劃線__

實例如下:

<?php
    class study{
        public $study1, $study2, $study3,$study4;
        public function __construct($str1, $str2, $str3,$str4){
            $this -> study1 = $str1;
            $this -> study2 = $str2;
            $this -> study3 = $str3;
            $this -> study4 = $str4;
            $this -> demo();
        }
        public function demo(){
            echo $this -> study1.'<br>';
            echo $this -> study2.'<br>';
            echo $this -> study3.'<br>';
            echo $this -> study4.'<br>';
        }
    }
    $object = new study('好好學習','天天向上','福如東海','壽比南山');
?>

示例中的$this表示當前調用的對象。輸出結果:

類中的構造函數與析構函數是什么

由上述結果,我們通過,我們通過__construct()構造函數,就調用了類中創建的對象。

__destruct():析構函數/方法

剛才講到的__construct()構造函數,它會在對象被創建的時候調用,與之相對應的就是析構函數,析構函數的作用與構造函數相反,析構函數只有當對象從內存中刪除之前才會被自動調用,在PHP中有垃圾回收機制,當對象不能被訪問就會自動啟動垃圾回收機制,析構函數就是垃圾回收對象前調用。

__destruct()函數的語法格式如下:

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

需要注意的是,與構造函數類似,destruct前面也是兩個下劃線__;不同的是析構函數不能帶有任何參數。

實例如下:

<?php
    class Website{
        public $study1, $study2;
        public function __construct(){
            echo '構造函數被調用了<br>';
        }
        public function __destruct(){
            echo '析構函數被調用了<br>';
        }
    }
    $object = new Website();
    echo '好好學習<br>';
    echo '天天向上<br>';
?>

輸出結果:

類中的構造函數與析構函數是什么

由上述實例可以看出,構造函數與析構函數調用的時間不同,構造函數在對象被創建時自動調用,析構函數在對象被垃圾收集器收集前被調用。

$this:當前對象

在PHP面對對象編程中,對象被創建之后,在對象中的每個成員方法里,都會存在一個特殊的對象引用“$this”,與連接符->聯合使用,專門用來完成對象內部成員之間的訪問。示例如下:

$this -> 成員屬性;
$this -> 成員方法(參數列表);

我們在類中訪問一個成員屬性時,后面只需要跟著屬性名稱就行了,不用加$符號,$this只能在對象中使用,沒有對象就沒有$this。

示例如下:

<?php
    class Website{
        public $name;
        public function __construct($name){
            $this -> name = $name;
            $this -> name();
        }
        public function name(){
            echo $this -> name;
        }
    }
    $object = new Website('好好學習');
?>

輸出結果:

類中的構造函數與析構函數是什么

“類中的構造函數與析構函數是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

php
AI

清远市| 太仆寺旗| 大港区| 广元市| 田阳县| 雅江县| 台山市| 缙云县| 大名县| 禹城市| 韩城市| 苍山县| 湛江市| 江华| 黑水县| 四子王旗| 防城港市| 遂溪县| 鄂温| 独山县| 科技| 图们市| 乐都县| 达拉特旗| 客服| 五指山市| 红河县| 京山县| 神农架林区| 瑞安市| 土默特右旗| 赣榆县| 桑植县| 德江县| 武隆县| 通河县| 石渠县| 曲松县| 屏边| 永新县| 高碑店市|