Jadi, kita sudah belajar tentang menambahkan property. Tapi gimana ya sekarang objek $guru sama $siswa sama isinya? cuma beda nama objek doang? Masa tiap bikin objek isinya sama?

Nah, ada solusinya lho, kawan! Kita mesti buat semacam constructor untuk membuat objek yang berbeda. Constructor ini juga termasuk method, tapi kamu ga perlu khawatirin tentang ini dulu. Terus gimana caranya bikin constructor ini? Check this out ya!

Seperti yang sudah saya sebutkan sebelumnya, constructor ini termasuk method. Jadi cara penulisan sintaksnya pun sama kaya membuat function. Di bawah ini penulisan sintaksnya:

 public function __construct($prop1, $prop2) {  
  $this->prop1 = $prop1;  
  $this->prop2 = $prop2;  
 }  

Nah, sekarang kita mempelajari beberapa hal baru dari sintaks di atas, yaitu: [a] Kamu membuat sebuah fungsi yang terikat ke dalam sebuah class. [b] Method constructor ini dipanggil __construct(). [c] And finally, cara buat masukin value: $this->prop1 = $prop1 $this di sintaks di atas itu merujuk kepada objek yang kita buat dan sintaks ->prop1 adalah property dari objek.

Dengan membuat objek baru menggunakan keyword baru, sebenarnya kamu manggil method __construct() ini, yang artinya membentuk objek. Jadi, saat objek dibuat kita mesti menambahkan argumen. Nah kawan, argumen ini yang kita pakai untuk set property.

Supaya lebih jelas, kita langsung coba aja ya! Kita lanjutin class Orang dari postingan sebelumnya. ^^ [a] Pertama kita bikin constructor di class Orang dengan tiga parameter, yaitu $firstname, $lastname sama $age. [b] Di constructor kita, pakai tiga parameter ini untuk set public property. Apa aja? Yaitu, $firstname, $lastname dan $age. [c] Ganti instantiasi $guru buat nyimpan objek baru, misal new Orang("Nadia","Rizky",24). [d] Yang terakhir, tambahin nama kamu dan juga umur ke $siswa dalam bentuk penulisan yang sama. Terus coba kamu echo property $age dari $siswa.

Nah, di bawah ini sintaks kodenya:


 <!DOCTYPE html>  
 <html>  
   <head>  
    <title> Membuat Kelas Orang </title>  
    <style>  
     p {  
       color: grey;  
       font-size: 20px;  
     }  
    </style>  
   </head>  
  <body>  
    <p>  
   <?php  
    class Orang{  
     public $isAlive = true;  
     public $firstname;  
     public $lastname;  
     public $age;  
     public function __construct($firstname,$lastname,$age){  
         $this->firstname = $firstname;  
         $this->lastname = $lastname;  
         $this->age = $age;  
         }  
    }  
    $Guru = new Orang("Nadia", "Rizky", 24);  
    $Siswa = new Orang("Ayu", "Lestari", 17);  
    echo $Siswa->age; //tampil 17  
   ?>  
     </p>  
   </body>  
 </html>  

Simpan filenya, lalu coba kamu run di browser. Apa hasilnya? Yep, muncul angka 17 aja.. Sesuai dengan argumen yang kita masukan saat membuat objek. ^^

Semoga bermanfaat... semangat terus ya belajarnya! ^^

Gun Gun Priatna
Software Engineer, Content Writer and Founder qadrlabs.com
Komentar

blog comments powered by Disqus