PHP OOP Part 3 : Pengenalan Construct Dan Destruct Pada OOP PHP
Assalamu'alaikum wr.wb
Pengertian Constructor dalam OOP
Constructor (bahasa indonesia: konstruktor) adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan.Constructor biasa digunakan untuk membuat proses awal dalam mempersiapkan objek, seperti memberi nilai awal kepada property, memanggil method internal dan beberapa proses lain yang digunakan untuk ‘mempersiapkan’ objek.
Dalam PHP, constructor dibuat menggunakan method : __construct().
Pengertian Destructor dalam OOP
Destructor (bahasa indonesia: destruktor) adalah method khusus yang dijalankan secara otomatis pada saat sebuah objek dihapus. Di dalam PHP, seluruh objek secara otomatis dihapus ketika halaman PHP dimana objek itu berada selesai diproses. Tetapi kita juga dapat menghapus objek secara manual.Destructor biasanya digunakan untuk ‘membersihkan’ beberapa variabel, atau menjalankan proses tertentu sebelum objek dihapus.
Dalam PHP, destructor dibuat menggunakan method : __destruct().
Cara Penggunaan Destructor dan Constructor dalam PHP
Sebagai tutorial kita kali ini, berikut adalah contoh penggunaan constructor dan destructor dalam PHP:<?php
// buat class laptop
class
laptop {
private
$pemilik
=
"Andi"
;
private
$merk
=
"Lenovo"
;
public
function
__construct(){
echo
"Ini berasal dari Constructor Laptop"
;
}
public
function
hidupkan_laptop(){
return
"Hidupkan Laptop $this->merk punya $this->pemilik"
;
}
public
function
__destruct(){
echo
"Ini berasal dari Destructor Laptop"
;
}
}
// buat objek dari class laptop (instansiasi)
$laptop_andi
=
new
laptop();
echo
"<br />"
;
echo
$laptop_andi
->hidupkan_laptop();
echo
"<br />"
;
Dalam contoh diatas, saya membuat class laptop dengan 3 method:
Seperti yang terlihat, method __construct() dan __destruct() secara otomatis dipanggil saat objek dibuat dan saat objek dihapus. Untuk mencoba menghapus objek $laptop_andi secara manual, kita bisa menggunakan fungsi unset() sebagai berikut:
Jika kita menjalankan kode diatas, berikut adalah hasil yang didapat:
Setelah memanggil method $laptop_andi->hidupkan_laptop(), saya kemudian menghapus objek $laptop_andi secara manual menggunakan fungsi unset($laptop_andi).
Untuk membuktikan bahwa destructor $laptop_andi sudah dijalankan, saya menambahkan perintah echo “Objek Telah Dihancurkan” diakhir halaman. Sehingga kita bisa melihat bahwa destructor objek $laptop andi di jalankan sebelum dihapus otomatis oleh PHP. Silahkan anda coba hapus perintah unset($laptop_andi), maka string “Objek Telah Dihancurkan” akan tampil sebelum destructor objek $laptop_andi.
Sebagai contoh terakhir dalam tutorial kali ini, saya akan membuat contoh constructor yang sering digunakan untuk membuat objek dengan nilai awal. Konsep ini sering digunakan dalam pemrograman objek. Berikut adalah contoh penggunaannya:
Pada kode diatas, saya menggunakan constructor sebagai pembuat nilai awal dari objek. Method constructor menerima 2 buah argumen yang kemudian disimpan kedalam property internal objek.
Berikut adalah hasil yang didapat dari kode program diatas:
Wassalamu'alaikum wr.wb
- Method __construct() merupakan constructor dari class laptop. Method ini akan dipanggil secara otomatis ketika class laptop di instansiasi.
- Method hidupkan_laptop() merupakan method ‘biasa’ yang akan menampilkan hasil string. Untuk menggunakan method ini, kita memanggilnya dari objek.
- Method ketiga adalah __destruct() yang merupakan destructor dari class laptop. Method ini akan dipanggil saat objek dihapus.
Ini berasal dari Constructor Laptop
Hidupkan Laptop Lenovo punya Andi
Ini berasal dari destructor Laptop
<?php
// buat class laptop
class
laptop {
private
$pemilik
=
"Andi"
;
private
$merk
=
"Lenovo"
;
public
function
__construct(){
echo
"Ini berasal dari Constructor Laptop"
;
}
public
function
hidupkan_laptop(){
return
"Hidupkan Laptop $this->merk punya $this->pemilik"
;
}
public
function
__destruct(){
echo
"Ini berasal dari Destructor Laptop"
;
}
}
// buat objek dari class laptop (instansiasi)
$laptop_andi
=
new
laptop();
echo
"<br />"
;
echo
$laptop_andi
->hidupkan_laptop();
echo
"<br />"
;
// hapus objek $laptop_andi
unset(
$laptop_andi
);
echo
"<br />"
;
echo
"Objek Telah Dihancurkan"
;
?>
Ini berasal dari Constructor Laptop
Hidupkan Laptop Lenovo punya Andi
Ini berasal dari Destructor Laptop
Objek Telah Dihancurkan
Untuk membuktikan bahwa destructor $laptop_andi sudah dijalankan, saya menambahkan perintah echo “Objek Telah Dihancurkan” diakhir halaman. Sehingga kita bisa melihat bahwa destructor objek $laptop andi di jalankan sebelum dihapus otomatis oleh PHP. Silahkan anda coba hapus perintah unset($laptop_andi), maka string “Objek Telah Dihancurkan” akan tampil sebelum destructor objek $laptop_andi.
Sebagai contoh terakhir dalam tutorial kali ini, saya akan membuat contoh constructor yang sering digunakan untuk membuat objek dengan nilai awal. Konsep ini sering digunakan dalam pemrograman objek. Berikut adalah contoh penggunaannya:
<?php
// buat class laptop
class
laptop {
private
$pemilik
;
private
$merk
;
// constructor sebagai pembuat nilai awal
public
function
__construct(
$pemilik
,
$merk
) {
$this
->pemilik =
$pemilik
;
$this
->merk =
$merk
;
}
public
function
hidupkan_laptop() {
return
"Hidupkan Laptop $this->merk punya $this->pemilik"
;
}
}
// buat objek dari class laptop (instansiasi)
$laptop_andi
=
new
laptop(
"Andi"
,
"Lenovo"
);
echo
$laptop_andi
->hidupkan_laptop();
echo
"<br />"
;
$laptop_anto
=
new
laptop(
"Anto"
,
"Acer"
);
echo
$laptop_anto
->hidupkan_laptop();
?>
Berikut adalah hasil yang didapat dari kode program diatas:
Hidupkan Laptop Lenovo punya Andi
Hidupkan Laptop Acer punya Anto
Wassalamu'alaikum wr.wb
0 comments:
Posting Komentar