Rumah >pembangunan bahagian belakang >tutorial php >Biarkan anda membezakan pembina dan pemusnah dalam kelas
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.
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(参数列表){ ... ... }
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.'<br>'; echo $this -> study2.'<br>'; echo $this -> study3.'<br>'; echo $this -> study4.'<br>'; } } $object = new study('好好学习','天天向上','福如东海','寿比南山'); ?>
$ini dalam contoh mewakili objek yang dipanggil sekarang. Hasil keluaran:
Daripada keputusan di atas, kita lulus objek yang dicipta dalam kelas melalui pembina __construct()
.
<strong><span style="font-size: 20px;">__destruct()</span></strong>
__destruct()
__construct()
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(){ ... ... }
Format sintaks fungsi adalah seperti berikut: __
; perbezaannya ialah Pemusnah tidak boleh mengambil sebarang parameter.
<?php class Website{ public $study1, $study2; public function __construct(){ echo '构造函数被调用了<br>'; } public function __destruct(){ echo '析构函数被调用了<br>'; } } $object = new Website(); echo '好好学习<br>'; echo '天天向上<br>'; ?>
Contohnya adalah seperti berikut:
Hasil keluaran:
<strong><span style="font-size: 20px;">$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
->
: Objek semasa
$this -> 成员属性; $this -> 成员方法(参数列表);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('好好学习'); ?>
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:
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!