Kalau kita berfikir tentang class dan objek, mungkin kita bisa sadar kalau satu class itu boleh jadi termasuk salah satu tipe dari class lainnya. Sebagai contoh, misalnya ini ya, kita punya class Buku dan juga class Novel. Bakalan lebih mudah kalau sewaktu kita buat objek baru dari class Novel, secara otomatis punya properti dan method yang sama kaya objek baru dari class Buku. Kayanya enak banget ya, ga perlu nulis ulang lagi kalau kodenya sama.

Nah, kabar baiknya, kawan, kita bisa buat kode kita jadi kaya gitu. Gimana caranya? Kita buat melalui proses yang disebut Inheritance. Nah, inheritance ini tuh cara supaya satu class bisa pakai properti dan juga method dari class lain. Kaya sifat anak yang ga jauh beda dari orang tuanya gitu. Contohnya, misalkan Novel itu termasuk Buku, jadi dia bisa inherit (mewarisi) dari class Buku. Nah, gimana kalau ada class Komik. Kita tau Komik itu bukan Novel (iyalah!), jadi dia ga bisa inherit dari Novel. Kabar baiknya, dia bisa inherit dari class Buku.

Lalu, gimana caranya satu class PHP bisa mewarisi properti dan method dari class yang lain? Check this code out ya!

 <?php 
   class Buku{ 
   /* Variabel yang ada didalam kelas buku */ 
    var $judul; 
    var $harga; 
       /*br adalah tag html untuk membuat garis baru */ 
    function getHarga(){ 
      echo $this->harga ."<br/>"; 
    } 
    function getJudul(){ 
      echo $this->judul ." <br/>"; 
    } 
       /* Fungsi Spesial Construct didalam kelas buku */ 
       function __construct( $parameter1, $parameter2 ){ 
       $this->judul = $parameter1; 
    $this->harga = $parameter2; 
 } 
   } 
   Class Komik extends Buku{ 
   var $penerbit; 
   Function setPenerbit($parameter){ 
    $this->penerbit = $parameter; 
   } 
   Function getPenerbit(){ 
    echo $this->penerbit. "<br />"; 
   } 
         /* Fungsi Spesial Construct didalam kelas Komik */ 
   function __construct( $parameter1, $parameter2, $parameter3 ){ 
   $this->judul = $parameter1; 
   $this->harga = $parameter2; 
   $this->penerbit = $parameter3; 
 } 
 } 
      /* Buat sebuah object komikkeren dari kelas komik */ 
      $komikkeren = new Komik( "One Piece", 20000, "Elexmedia" ); 
   /* Memanggil Method pada kelas komik */ 
      $komikkeren->getJudul(); 
      $komikkeren->getHarga(); 
      $komikkeren->getPenerbit(); 
 ?> 

Bisa dilihat di kode di atas, ada dua class yaitu class Buku sama class Komik. lho kok yang class Komik agak beda kodenya? Yep, di situ ada keyword extends di class Komik. Yang artinya class Komik itu mewarisi semua properti dan method yang ada pada class Buku.

Coba kamu perhatiin di kode di atas. class Komik ga punya properti $judul sama $harga, tapi dia bisa pakai propertinya. Sama halnya dengan method, di class Komik ga ada method getHarga sama getJudul, tapi class Komik bisa pakai methodnya. Kenapa ya? Di kode di atas class Buku itu jadi Parent Class dan Komik jadi Child Class. Nah, proses ini yang di sebut inheritance. Child class bisa pakai method sama properti yang ada di Parent class.

Gimana? Bisa kebayang kan apa itu inheritance?

Semoga bermanfaat.. semangat terus belajarnya yaaa~! ^^

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

blog comments powered by Disqus