Sunday, November 30, 2014

Tutorial PHP OOP Part 15 : Mengenal Metode Re-use Trait

Trait adalah fitur baru pada PHP 5.4. Dengan trait kita dimungkinkan untuk menggunakan ulang sebuah kode (re-use). Dalam hasa indonesia, trait berarti sifat. Pengertian trait adalah sebuah mekanisme penggunakan ulang kode dalam sebuah class. Trait berbeda dengan pewarisan class, class abstrak atau object interface. Sebuah trait lebih mirip sebagai penggunaan kode bersama dari pada penurunan class, kerangka class abstrak ataupun implementasi sebuah interface.

Munculnya trait dimaksudkan untuk mempermudah dalam hal penggunaan ulang sebuah kode tanpa adanya batasan hirarki atau kerangka. Sebuah Trait dimaksudkan untuk mengurangi beberapa keterbatasan warisan tunggal dengan memungkinkan pengembang untuk menggunakan kembali secara bebas satu set method di beberapa kelas independen yang tinggal di hierarki kelas yang berbeda.

Membuat Trait

Untuk membuat trait kita menggunakan keyword "trait" diikuti dengan nama trait dan sepasang kurung kurawal untuk menaruh isi trait. Didalam trait kita bisa menaruh satu set method dengan lengkap dengan isinya, juga bisa kerangka method seperti class abstrak. Selain itu kita juga bisa menaruh static dan properti didalam trait.
 trait namaTrait {   
   public function namaMethod() {  
     ... //isi method  
   } 
   abstract public function namaMethod2();    
 }   

Menggunakan Trait

Untuk menggunakan trait kita menggunakan keyword "use" didalam class. Kita bisa menggunakan trait dengan bebas pada setiap class. Kita bisa menggunakan beberapa trait sekaligus dalam satu class.
class namaClass {  
      use namaTrait;  
 }  

Contoh Penggunaan Trait

 <?php   
 trait daftarRumus {   
   public function luas_persegi(){  
   return "ini luas persegi";  
   }  
 }   

 class Rumus {  
      use daftarRumus;  
 }  

 $rumus = new Rumus();  
 echo $rumus->luas_persegi();  
 ?>  
Pada program diatas kita mempunyai sebuah trait bernama daftarRumus dan sebuah class Rumus yang menggunakan trait tersebut. Jika program diatas dijalankan akan menampilkan "ini luas persegi", yaitu balikan dari method luas_persegi() dalam trait daftarRumus.

Referensi :

0 komentar

Post a Comment