Pengertian Inheritance (Pewarisan) (Pengenalan & Praktikum)

Daftar Isi
  1. Pengertian Inheritence (Pewarisan) dalam OOP
  2. Cara Penggunaan Inheritence dalam PHP
  3. Download Materi PPT
  4. Referensi


Pengertian Inheritence (Pewarisan) dalam OOP

 

Pengertian Inheritence (Pewarisan) dalam OOP

Inheritance adalah konsep OOP dimana sebuah class dapat menurunkan property dan method yang dimilikinya kepada class lain. Konsep inheritance dipakai untuk memanfaatkan fitur code reuse, yakni menghindari terjadinya duplikasi kode program.

Dalam bahasa Indonesia, inheritance ini disebut juga sebagai pewarisan atau penurunan.

Konsep inheritance membuat sebuah struktur atau hierarchy class dalam kode program. Class yang akan diturunkan bisa disebut sebagai class induk (parent class), super class, atau base class.

Sedangkan class yang menerima penurunan bisa disebut sebagai class anak (child class), sub class, derived class atau heir class.

Tidak semua property dan method class induk akan diturunkan. Property dan method dengan hak akses private tidak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang bisa diakses dari class anak.

 

 

 


Cara Penggunaan Inheritence dalam PHP

Di dalam PHP, inheritance atau penurunan sebuah class kepada class lain menggunakan keyword extends, dengan penulisan dasar sebagai berikut:

Agar lebih mudah dipahami, kita akan langsung masuk ke dalam contoh program penggunaan inheritance PHP:

Dalam contoh kode ini terdapat class ecommerce dengan beberapa property dan sebuah method. Semua property milik class ecommerce masih belum berisi nilai apa-apa.

Di bawah class ecommerce, dibuat class shopee extends class ecommerce. Disini terjadi penurunan class ecommerce kepada class shopee. Hasilnya, di dalam class shopee kita bisa mengakses seluruh property dan method apapun milik class ecommerce selama memiliki hak akses public atau protected.

Untuk membuktikan hal tersebut, dibuat objek $shopee_process dari class shopee. Perhatikan bahwa kita bisa mengakses property $member_name, $product_category, dan $product_name yang semuanya adalah milik class ecommerce, bukan class shopee.

Method item_detail() juga sukses diakses dari objek $shopee_process. Inilah yang dimaksud dengan inheritance/penurunan class dalam OOP.

PHP tidak membatasi berapa banyak penurunan objek yang bisa dilakukan. Dalam contoh berikut saya membuat 3 buah class yang saling diturunkan:


Di awal kode program saya membuat class komputer yang diturunkan kepada class laptop. Class laptop ini kemudian diturunkan lagi kepada class macbookpro. Dari dalam class  macbookpro ini di panggil method-model milik class diatasnya.

Jika anda perhatikan, setiap method selain method beli_semua(), juga menggunakan hak akses protected. Hak akses protected ini menghalangi kode program lain untuk mengaksesnya, selain class turunan.

Pada baris terakhir saya menyisipkan kode program untuk mencoba mengakses method beli_komputer(). Kode ini sengaja diberi tanda komentar karena PHP akan mengeluarkan error karena kita tidak bisa mengakses method dengan hak akses protected:

Inilah salah satu penerapan enkapsulasi dalam OOP PHP. Yakni membatasi method yang tidak boleh diakses akan membuat kode program menjadi lebih terstruktur.


Download Materi PPT

Materi - Inteheritence


Referensi

-