Sunday, November 23, 2014

Tutorial PHP OOP Part 6 : Mengenal Class Turunan (Inheritance)

Class turunan adalah sebuah class yang dibuat berdasarkan sebuah class utama (class parent). Dalam pemrograman PHP berorientasi obyek cara ini disebut pewarisan sebuah class atau dalam bahasa inggis disebut dengan inheritance. Class utama sering juga disebut class induk (parent class) dan class turunan disebut dengan class anak (child class).

Dengan pewarisan class ini, class turunan dapat menggunakan semua properti dan method yang ada dalam class utama selama diset public atau protected. Teknik pewarisan class membuat pemrograman menjadi lebih ringkas.

Contoh penggunaan class turunan ini pernah ditampilkan pada tulisan sebelumnya tentang penggunaan enkapsulasi protected, dimana setting protected berarti sebuah properti bisa digunakan pada class utama dan class turunan.

Membuat Class Turunan

Untuk membuat class turunan kita menggunakan perintah yang sama dengan saat membuat class namun dibelakangnya ditambahi dengan keyword "extends" dan diikuti dengan nama class utama lalu sepasang kurung kurawal {}.
class namaClassutama {
    public $propertiClassutama;

    public function methodClassutama() {
        ....
    } 
}

class namaClassturunan extends namaClassutama {
    public function methodClassturunan() {
        ....
}
Kita bisa membuat lebih dari satu class turunan dari class utama, dalam hal ini memang belum ada batasan turunan dalam penggunaan class utama.
class namaClassutama {
    public $propertiClassutama;

    public function methodClassutama() {
        ....
    } 
}

class namaClassturunan1 extends namaClassutama {
    public function methodClassturunan1() {
        ....
}

class namaClassturunan2 extends namaClassutama {
    public function methodClassturunan2() {
        ....
}
Sebuah class turunan juga dapat menjadi class utama bagi class turunan lagi, begitu seterusnya.
class namaClassutama {
    public $propertiClassutama;

    public function methodClassutama() {
        ....
    } 
}

class namaClassturunan1 extends namaClassutama {
    public function methodClassturunan1() {
        ....
}

class namaClassturunan2 extends namaClassturunan1 {
    public function methodClassturunan2() {
        ....
}

Membuat Object dari Class Turunan

Kita juga bisa membuat obyek baru dari class turunan yang telah dibuat tadi sama dengan obyek dari class pada umumnya. Namun properti dan method yang ada pada class utama kita akses dengan object yang dibuat dari class turunan ini. Jadi tidak perlu membuat object dari dua class sekaligus.
//membuat object dari classTurunan
    $namaObject = new namaClassturunan;

//mengakses properti pada classUtama
    $namaObject->$propertiClassutama=value;

//mengakses method pada classUtama
    echo $namaObject->$methodClassutama();

Contoh penggunaan Class turunan

 <?php  
 class Induk {   
   var $panjang;  
   var $lebar;  
   function luas_persegi()    
   {    
     $hasil= $this->panjang * $this->lebar;   
     return $hasil;    
   }  
 }  
 class Anak extends Induk {  
   var $tinggi;  
   function volume_balok()  
   {  
     $hasil= $this->panjang * $this->lebar * $this->tinggi;   
     return $hasil;  
      }   
 }   

 //membuat object dari class Anak
 $anak = new Anak;  

 //set nilai properti
 $anak->panjang=8;  
 $anak->lebar=5;  
 $anak->tinggi=7;  

 //menampilkan hasil
 echo "Ini hasil dari method class induk<br/>";  
 echo "Luas Persegi = ".$anak->luas_persegi()."<br/><br/>";  
 echo "Ini hasil dari method class anak<br/>";  
 echo "Volume Balok = ".$anak->volume_balok();  
 ?>  
Script diatas jika dijalankan akan menampilkan hasil berikut ini :

Ini hasil dari method class induk
Luas Persegi = 40

Ini hasil dari method class anak
Volume Balok = 280

Pada contoh terlihat bahwa object yang dibuat dari class Anak bisa mengakses properti panjang dan lebar dari class Induk. Selain itu object yang dibuat dari class Anak juga bisa mengakses method luas_persegi() yang ada pada class Induk.

Referensi :

0 komentar

Post a Comment