Rumah > pembangunan bahagian belakang > tutorial php > Biarkan anda membezakan pembina dan pemusnah dalam kelas

Biarkan anda membezakan pembina dan pemusnah dalam kelas

WBOY
Lepaskan: 2023-04-10 18:18:01
asal
3177 orang telah melayarinya

Dalam artikel sebelumnya, saya membawakan anda "Bagaimana untuk membuat instantiate objek dan mengakses ahli objek dalam PHP? 》, yang memperkenalkan secara terperinci cara membuat instantiat objek dan mengakses ahli objek Dalam artikel ini, kita akan melihat pembina dan pemusnah dalam PHP.

Biarkan anda membezakan pembina dan pemusnah dalam kelas

Pembina dalam kelas PHP juga dipanggil pembina Apabila sesuatu objek dibuat seketika menggunakan kata kunci baharu, ia boleh dipanggil secara automatik apabila objek itu dicipta fungsi. Fungsi yang sepadan ialah pemusnah Peranan pemusnah adalah bertentangan dengan pembina Pemusnah boleh melakukan operasi sebelum objek dimusnahkan. Kemudian mari kita lihat kedua-dua fungsi ini bersama-sama.

<strong><span style="font-size: 20px;">__construct()</span></strong>: pembina/kaedah

Dalam kelas PHP, kami menggunakan __construct() sebagai pembina kelas, pembina Fungsi ialah fungsi pertama yang dipanggil secara automatik dalam kelas apabila objek dicipta, dan hanya boleh ada satu pembina dalam kelas Perlu diingat bahawa jika terdapat parameter dalam pembina, maka instantiasi juga perlu diluluskan Enter parameter yang sepadan.

Format sintaks yang dicipta oleh pembina adalah seperti berikut:

public function __construct(参数列表){
    ... ...
}
Salin selepas log masuk

Perlu diambil perhatian bahawa senarai parameter adalah pilihan dan boleh ditinggalkan apabila tidak diperlukan. binaan didahului oleh dua garis bawah __.

Contohnya adalah seperti berikut:

<?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.&#39;<br>&#39;;
            echo $this -> study2.&#39;<br>&#39;;
            echo $this -> study3.&#39;<br>&#39;;
            echo $this -> study4.&#39;<br>&#39;;
        }
    }
    $object = new study(&#39;好好学习&#39;,&#39;天天向上&#39;,&#39;福如东海&#39;,&#39;寿比南山&#39;);
?>
Salin selepas log masuk

$ini dalam contoh mewakili objek yang dipanggil sekarang. Hasil keluaran:

Biarkan anda membezakan pembina dan pemusnah dalam kelas

Daripada keputusan di atas, kita lulus objek yang dicipta dalam kelas melalui pembina __construct().

<strong><span style="max-width:90%">__destruct()</span></strong>__destruct()

: pemusnah/kaedah

__construct()

Pembina

akan dipanggil apabila objek dibuat Fungsi yang sepadan ialah pemusnah Peranan pemusnah adalah bertentangan dengan pembina hanya boleh dipanggil apabila objek dikeluarkan daripada memori tidak akan dipanggil secara automatik sehingga ia dipadamkan. Terdapat mekanisme pengumpulan sampah dalam PHP Apabila objek tidak boleh diakses, mekanisme pengumpulan sampah akan dimulakan secara automatik. __destruct()

public function __destruct(){
    ... ...
}
Salin selepas log masuk

Format sintaks fungsi adalah seperti berikut: __

Perlu diambil perhatian bahawa, sama seperti pembina, destruct juga didahului oleh dua garis bawah

; perbezaannya ialah Pemusnah tidak boleh mengambil sebarang parameter.

<?php
    class Website{
        public $study1, $study2;
        public function __construct(){
            echo &#39;构造函数被调用了<br>&#39;;
        }
        public function __destruct(){
            echo &#39;析构函数被调用了<br>&#39;;
        }
    }
    $object = new Website();
    echo &#39;好好学习<br>&#39;;
    echo &#39;天天向上<br>&#39;;
?>
Salin selepas log masuk

Contohnya adalah seperti berikut:

Hasil keluaran: Biarkan anda membezakan pembina dan pemusnah dalam kelas

<strong><span style="max-width:90%">$this</span></strong>Seperti yang dapat dilihat daripada contoh di atas, struktur Fungsi dan pemusnah dipanggil pada masa yang berbeza Pembina dipanggil secara automatik apabila objek dicipta, dan pemusnah dipanggil sebelum objek dikumpul oleh pengumpul sampah. $this

$this->: Objek semasa

$this -> 成员属性;
$this -> 成员方法(参数列表);
Salin selepas log masuk

dalam PHP Dalam pengaturcaraan berorientasikan objek, selepas objek dicipta, akan terdapat rujukan objek khas "

" dalam setiap kaedah ahli objek, yang digunakan bersama dengan penyambung
untuk melengkapkan ahli dalaman objek antara lawatan. Contohnya adalah seperti berikut:

<?php
    class Website{
        public $name;
        public function __construct($name){
            $this -> name = $name;
            $this -> name();
        }
        public function name(){
            echo $this -> name;
        }
    }
    $object = new Website(&#39;好好学习&#39;);
?>
Salin selepas log masuk

Apabila kita mengakses atribut ahli dalam kelas, kita hanya perlu mengikut nama atribut Tidak perlu menambah tanda $ini hanya boleh digunakan dalam objek Tanpa objek, tidak ada $ ini.

Contohnya seperti berikut: Biarkan anda membezakan pembina dan pemusnah dalam kelas

Hasil keluaran:

Jika anda berminat, anda boleh klik " Tutorial Video PHP》Ketahui lebih lanjut tentang pengetahuan PHP.

Atas ialah kandungan terperinci Biarkan anda membezakan pembina dan pemusnah dalam kelas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan