Apa perbedaan constructor dan destructor dalam php?

Tutorial OOP: Mengenal Constructor dan Destructor

Apa perbedaan constructor dan destructor dalam php?

Tutorial OOP: Mengenal Constructor dan Destructor

Pada artikel kali ini, kami akan membahas mengenai constructor dan destructor dalam PHP berbasis objek (object oriented programming). Pertama-tama, kami akan membahas tentang pengertian contructor.

Pengertian Constructor dalam OOP

Constructor atau konstruktor adalah metode 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 metode internal, dan beberapa proses lain yang digunakan untuk mempersiapkan objek.

Dalam PHP, constructor dibuat menggunakan method : __construct(). Selanjutnya, kita bahas tentang pengertian destructor.

Pengertian Destructor dalam OOP

Destructor atau destruktor adalah metode khusus yang dijalankan secara otomatis pada saat sebuah objek dihapus. Di dalam PHP, seluruh objek secara otomatis dihapus saat objek tersebut selesai diproses. Selain itu, kita juga dapat menghapusnya secara manual. Destructor biasa digunakan untuk membersihkan beberapa variabel, atau menjalankan proses tertentu sebelum objek dihapus.

Dalam PHP, destructor dibuat menggunakan method : __destruct().

Constructor dan destructor harus memiliki hak akses publik. Jika Anda mengubah hak akses constructor atau destructor menjadi protected atau private, PHP akan mengeluarkan error.

Konsep inhertitance atau pewarisan class memiliki efek khusus dalam construktor dan destructor. Terutama construktor dan destructor dari parent class. Di dalam PHP, ketika child class memiliki constructor dan destructor sendiri, maka PHP akan melewatkan constructor dan destructor parent class, kasus ini disebut dengan Overridden Constructor dan Overridden Destructor.

Berikut adalah contoh penggunaan constructor dan destructor dalam PHP:

<?php

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";

   }

}

$laptop_andi= new laptop();

echo "<br />";

echo $laptop_andi->hidupkan_laptop();

echo "<br />";

?>

Dalam contoh di atas, kami membuat class laptop dengan tiga method:

  • Method __construct() merupakan constructor dari class laptop. Method ini akan dipanggil secara otomatis ketika class laptop diinstansiasi.
  • 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.

Demikianlah pembahasan singkat mengenai constuctor dan destructor dalam PHP. Semoga bermanfaat.

You are here: Home / PHP / Tutorial PHP OOP Part 8 : Membuat Constructor dan Destructor

Apa perbedaan constructor dan destructor dalam php?

Contructor adalah method didalam class yang digunakan untuk melakukan setting properti saat instantisasi object. Constructor membuat pemrograman menjadi lebih efisien karena proses instantisasi object dan setting properti dilakukan secara bersamaan. Constructor dipanggil setiap membuat object baru dari class.

Sedangkan Destructor adalah method didalam class yang digunakan untuk unset semua data yang mereferen terhadap object yang dibuat dari class. Namun tidak seperti Constructor, Destructor sangat jarang digunakan pada pemrograman PHP berorientasi object.

Membuat Constructor

Untuk membuat Constructor sebuah class kita menggunakan method __constructor(parameter) yang merupakan fungsi bawaan PHP. Tanda “__” merupakan tanda underscore (_) yang ditulis dua kali tanpa spasi. Kemudian nama-nama properti yang ingin disetting nilainya dengan nilai dari parameter ditaruh diantara dua kurung kurawal {} seperti saat membuat method.

Salah satu format sederhana membuat constructor didalam sebuah class

 <?php class namaClass {   
var $properti1;
var $properti2;
...dst

function __construct($parameter1,$parameter2,...dst) {
$this->properti1 = $parameter1;
$this->properti2 = $parameter2;
...dst
}
}
?>

Contoh membuat constructor untuk properti panjang dan lebar pada class Rumus

 class Rumus {   
var $panjang;
var $lebar;

//membuat constructor
function __construct($x,$y) {
$this->panjang = $x;
$this->lebar = $y;
}

//membuat method untuk menghitung luas
function luas() {
$hasil = $this->panjang * $this->lebar;
return $hasil;
}
}

Pada contoh diatas kita membuat constructor untuk class Rumus terhadap dua properti, yaitu panjang dan lebar. Pada function __construct dipakai dua variabel bantu $x dan $y untuk mengarahkan nilai dari constructor kedalam nilai properti panjang dan lebar

Membuat lebih dari satu Constructor

Pada sebuah class, kita bisa membuat banyak constructor. Constructor-constructor ini harus berbeda satu sama lain dan mempunyai parameter yang berbeda-beda.

Contoh membuat dua constructor dalam satu class

 class Rumus {   
var $panjang;
var $lebar;

//membuat constructor
function __construct($x,$y) {
$this->panjang = $x;
$this->lebar = $y;
}

//membuat constructor
function __construct($x) {
$this->panjang = $x;
}

//membuat method untuk menghitung luas
function luas() {
$hasil = $this->panjang * $this->lebar;
return $hasil;
}
}

Menggunakan Constructor

Constructor digunakan saat proses instantisasi object. Jadi kita harus menyertakan parameter constructor saat membuat object. Parameter constructor pada object ini harus sama dengan constructor yang dibuat pada class.

Contoh penggunaan constructor

 
//instantisasi object beserta constructor-nya
$rumus = new Rumus(5,8);

//menampilkan hasil dari method luas
echo "Luas = ".$rumus->luas();

Membuat dan Menggunakan Destructor

Destructor adalah kebalikan dari constructor. Jika pada constructor kita mengeset nilai dari sebuah properti, maka pada destructor kita menghapus nilai dari sebuah properti. Untuk membuat destructor kita menggunakan function __destruct() bawaan PHP.

Contoh membuat dan menggunakan destructor

 <?php  
class Rumus {
var $panjang;
var $lebar;

//membuat constructor
function __construct($x,$y) {
$this->panjang = $x;
$this->lebar = $y;
}

function __destruct() {
print "Menghapus Nilai Properti";
}
}

$obj = new Rumus(5,5);
unset($obj);
?>

Contoh diatas jika dijalankan akan menampilkan teks “Menghapus Nilai Properti”. Hal ini karena pada class terdapat sebuah destructor yang dijalankan.

Referensi :

  • http://php.net/manual/en/language.oop5.decon.php
  • http://blog.rosihanari.net/ebook-panduan-praktis-oop-di-php/

Apa perbedaan antara constructor dan destructor?

… Intinya constructor adalah sebuah method. Method yang akan dieksekusi saat pembuatan objek. Sementara untuk destructor adalah kebalikan dari constructor dan Java tidak memiliki destructor karena menggunakan metode gerbage collector.

Apa itu constructor pada PHP?

Constructor di PHP Constructor adalah method atau function yang otomatis akan dijalankan saat class diinstansiasi (dibuat sebuah object), pada bagian constructor kita dapat melakukan apapun yang bisa dilakukan dalam method / function kecuali mengembalikan nilai / return value.

Apa yang dimaksud dengan destructor?

Destruktor adalah fungsi anggota yang dipanggil secara otomatis ketika objek keluar dari cakupan atau secara eksplisit dihancurkan oleh panggilan ke delete . Destruktor memiliki nama yang sama dengan kelas , didahului oleh tilde ( ~ ).

Apa perbedaan antara konstruktor dan method?

Perbedaan method biasa denganconstructor adalah bahwa constructor harus memiliki nama yang sama dengan namaclassnya dan tidak memiliki nilai kembalian (tipe-data: String, int, double dll).Constructor dijalankan pada saat sebuah object diinisialisasi (menggunakan kata new).Pada constructor juga berlaku overloading, ...