Blogger Anak Babagan

Ds. Babagan RT 01 RW 03

Jumat, 26 Februari 2016

Tutorial PHP OOP Part 8 : Membuat Constructor dan Destructor

Tutorial PHP OOP Part 8 : Membuat Constructor dan Destructor

 


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

  1. <?php class namaClass {     
  2.   var $properti1;    
  3.   var $properti2;    
  4.   ...dst    
  5.   
  6.   function __construct($parameter1,$parameter2,...dst) {    
  7.     $this->properti1 = $parameter1;    
  8.     $this->properti2 = $parameter2;    
  9.      ...dst    
  10.   }    
  11.  }    
  12. ?>    

Contoh membuat constructor untuk properti panjang dan lebar pada class Rumus

  1. class Rumus {     
  2.   var $panjang;    
  3.   var $lebar;    
  4.   
  5.   //membuat constructor  
  6.   function __construct($x,$y) {    
  7.     $this->panjang = $x;    
  8.     $this->lebar = $y;    
  9.   }   
  10.   
  11.   //membuat method untuk menghitung luas  
  12.   function luas() {    
  13.        $hasil = $this->panjang * $this->lebar;    
  14.        return $hasil;    
  15.   }    
  16. }    
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

  1. class Rumus {     
  2.   var $panjang;    
  3.   var $lebar;    
  4.   
  5.   //membuat constructor  
  6.   function __construct($x,$y) {    
  7.     $this->panjang = $x;    
  8.     $this->lebar = $y;    
  9.   }   
  10.   
  11.   //membuat constructor  
  12.   function __construct($x) {    
  13.     $this->panjang = $x;    
  14.   }   
  15.   
  16.   //membuat method untuk menghitung luas  
  17.   function luas() {    
  18.        $hasil = $this->panjang * $this->lebar;    
  19.        return $hasil;    
  20.   }    
  21. }    

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

  1.    
  2. //instantisasi object beserta constructor-nya  
  3.  $rumus = new Rumus(5,8);    
  4.   
  5.  //menampilkan hasil dari method luas  
  6.  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

  1. <?php    
  2. class Rumus {    
  3.   var $panjang;     
  4.   var $lebar;     
  5.   
  6.  //membuat constructor    
  7.   function __construct($x,$y) {     
  8.    $this->panjang = $x;     
  9.    $this->lebar = $y;     
  10.   }     
  11.   
  12.   function __destruct() {    
  13.     print "Menghapus Nilai Properti";    
  14.   }    
  15. }    
  16.   
  17. $obj = new Rumus(5,5);    
  18. unset($obj);  
  19. ?>    
Contoh diatas jika dijalankan akan menampilkan teks "Menghapus Nilai Properti". Hal ini karena pada class terdapat sebuah destructor yang dijalankan.

Referensi :

0 komentar:

Posting Komentar