Melanjutkan panduan Belajar Object Oriented Programming (OOP) PHP, kali ini kita akan membahas mengenai Pengertian Constructor dan Destructor pada Pemrograman Objek, khususnya OOP PHP.
Pengertian Constructor pada OOP
Constructor (bahasa indonesia: konstruktor) yakni method khusus yang akan dijalankan secara otomatis di dikala sebuah objek dibangun (instansiasi), yakni ketika command “new” dijalankan.
Constructor lazimnya digunakan bagi merancang proses awal pada mempersiapkan objek, seperti memberi nilai awal kepada property, memanggil method internal dan beberapa proses lain yang digunakan bagi ‘mempersiapkan’ objek.
Pada PHP, constructor dibangun menggunakan method : __construct().
Pengertian Destructor pada OOP
Destructor (bahasa indonesia: destruktor) yakni method khusus yang dijalankan secara otomatis di dikala sebuah objek dihapus. Di pada PHP, seluruh objek secara otomatis dihapus ketika halaman PHP dimana objek itu berada selesai diproses. Tetapi kita pun dapat menghapus objek secara manual.
Destructor biasanya digunakan bagi ‘membersihkan’ beberapa variabel, atau menjalankan proses tertentu sebelum objek dihapus.
Pada PHP, destructor dibangun menggunakan method : __destruct().
Namun PHP menyediakan cara bila kita ingin menghapus objek sebelum mekanisme ini berjalan, yaitu menggunakan manfaat unset() atau mengisi variabel objek dengan nilai null. Kita akan melihat contoh penggunaannya dengan contoh program dibawah.
Cara Pemakaian Destructor dan Constructor pada PHP
Selaku panduan kita kali ini, berikut yakni contoh pemakaian constructor dan destructor pada PHP:
1 |
<?php<br/>// bikin class laptop<br/>class laptop {<br/> <br/> private $pemilik = Andi;<br/> private $merk = Lenovo;<br/> <br/> public function __construct(){<br/> echo Ini berasal dari Constructor Laptop;<br/> }<br/> <br/> public function hidupkan_laptop(){<br/> return Hidupkan Laptop $this->merk punya $this->pemilik;<br/> <br/> }<br/> public function __destruct(){<br/> echo Ini berasal dari Destructor Laptop;<br/> }<br/>}<br/> <br/>// bikin objek dari class laptop (instansiasi)<br/>$laptop_andi= new laptop();<br/> <br/>echo <br />;<br/>echo $laptop_andi->hidupkan_laptop();<br/>echo <br />;<br/>?> |
Pada contoh diatas, saya merancang class laptop dengan 3 method:
- Method __construct() adalah constructor dari class laptop. Method ini akan dipanggil secara otomatis ketika class laptop di instansiasi.
- Method hidupkan_laptop() adalah method ‘lazimnya’ yang akan menampilkan hasil string. Bagi menggunakan method ini, kita memanggilnya dari objek.
- Method ketiga yakni __destruct() yang adalah destructor dari class laptop. Method ini akan dipanggil dikala objek dihapus.
Setelah pendefinisian class, saya merancang objek $laptop_andi, dan memanggil method hidupkan_laptop(). Berikut yakni hasil yang didapat:
1 |
Ini berasal dari Constructor Laptop<br/>Hidupkan Laptop Lenovo punya Andi<br/>Ini berasal dari destructor Laptop |
Seperti yang terlihat, method __construct() dan __destruct() secara otomatis dipanggil dikala objek dibangun dan dikala objek dihapus. Bagi mencoba menghapus objek $laptop_andi secara manual, kita dapat menggunakan manfaat unset() selaku berikut:
1 |
<?php<br/>// bikin class laptop<br/>class laptop {<br/> <br/> private $pemilik = Andi;<br/> private $merk = Lenovo;<br/> <br/> public function __construct(){<br/> echo Ini berasal dari Constructor Laptop;<br/> }<br/> <br/> public function hidupkan_laptop(){<br/> return Hidupkan Laptop $this->merk punya $this->pemilik;<br/> <br/> }<br/> public function __destruct(){<br/> echo Ini berasal dari Destructor Laptop;<br/> }<br/>}<br/> <br/>// bikin objek dari class laptop (instansiasi)<br/>$laptop_andi= new laptop();<br/> <br/>echo <br />;<br/>echo $laptop_andi->hidupkan_laptop();<br/>echo <br />;<br/> <br/>// hapus objek $laptop_andi<br/>unset($laptop_andi);<br/> <br/>echo <br />;<br/>echo Objek Telah Dihancurkan;<br/>?> |
Seandainya kita menjalankan kode diatas, berikut yakni hasil yang didapat:
1 |
Ini berasal dari Constructor Laptop<br/>Hidupkan Laptop Lenovo punya Andi<br/>Ini berasal dari Destructor Laptop<br/>Objek Telah Dihancurkan |
Setelah memanggil method $laptop_andi->hidupkan_laptop(), saya kemudian menghapus objek $laptop_andi secara manual menggunakan manfaat unset($laptop_andi).
Bagi membuktikan bahwa destructor $laptop_andi telah dijalankan, saya menambahkan command echo “Objek Telah Dihancurkan” diakhir halaman. Sehingga kita dapat melihat bahwa destructor objek $laptop andi di jalankan sebelum dihapus otomatis oleh PHP. Silahkan kamu coba hapus command unset($laptop_andi), karenanya string “Objek Telah Dihancurkan” akan tampil sebelum destructor objek $laptop_andi.
Selaku contoh terakhir pada panduan kali ini, saya akan merancang contoh constructor yang sering digunakan bagi merancang objek dengan nilai awal. Konsep in
i sering digunakan pada pemrograman objek. Berikut yakni contoh penggunaannya:
1 |
<?php<br/>// bikin class laptop<br/>class laptop {<br/> <br/> private $pemilik;<br/> private $merk;<br/> <br/> // constructor selaku pembuat nilai awal<br/> public function __construct($pemilik, $merk) {<br/> $this->pemilik = $pemilik;<br/> $this->merk = $merk;<br/> }<br/> <br/> public function hidupkan_laptop() {<br/> return Hidupkan Laptop $this->merk punya $this->pemilik;<br/> }<br/>}<br/> <br/>// bikin objek dari class laptop (instansiasi)<br/>$laptop_andi= new laptop(Andi, Lenovo);<br/> <br/>echo $laptop_andi->hidupkan_laptop();<br/>echo <br />;<br/> <br/>$laptop_anto= new laptop(Anto, Acer);<br/> <br/>echo $laptop_anto->hidupkan_laptop();<br/>?> |
Di kode diatas, saya menggunakan constructor selaku pembuat nilai awal dari objek. Method constructor menerima 2 buah argumen yang kemudian disimpan kedalam property internal objek.
Berikut yakni hasil yang didapat dari kode program diatas:
1 |
Hidupkan Laptop Lenovo punya Andi<br/>Hidupkan Laptop Acer punya Anto |
1 |
Fatal error: Call to private laptop::__construct() <br/>from invalid context |
Pada panduan kali ini, kita telah membahas mengenai pengertian constructor dan destructor dalam Pemrograman objek PHP. Kemudian kita pun telah melihat contoh perancangan class dan objek menggunakan constructor dan destructor. Pada panduan belajar OOP PHP berikutnya, kita akan membahas konsep urgen lainnya di pada OOP, yakni penurunan/pewarisan (inheritance) dalam Pemrograman objek.
Sumber https://www.duniailkom.com/