Tutorial Belajar OOP PHP Part 9: Pengertian Inheritance (Pewarisan)

Posted on

Setelah mempelajari mengenai Pengertian Constructor dan Destructor dalam OOP PHP, melanjutkan panduan belajar pemrograman objek, kali ini kita akan membahas dan mempelajari Pengertian Inheritance atau Pewarisan dalam Pemrograman Objek, serta melihat contoh penggunaannya.


Pengertian Inheritance (Pewarisan) pada OOP

Inheritance atau Pewarisan/Penurunan ialah konsep pemrograman dimana sebuah class dapat ‘menurunkanproperty dan method yang dimilikinya kepada class lain. Konsep inheritance digunakan bagi memanfaatkan fitur ‘code reuse’ bagi menghindari duplikasi kode program.

Konsep inheritance merancang sebuah struktur atau ‘hierarchyclass pada kode program. Class yang akan ‘diturunkan’ dapat disebut selaku class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ dapat disebut selaku class anak (child class), sub class, derived class atauheir class.

Tak seluruh property dan method dari class induk akan diturunkan. Property dan method dengan hak akses private, tak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang dapat diakses dari class anak.


Cara Pemakaian Inheritance pada PHP

Di pada PHP, inheritance / penurunan dari sebuah class kepada class lain menggunakan kata kunci: ‘extends’, dengan penulisan mendasar selaku berikut:

Agar lebih gampang dimengerti, kita akan seketika masuk kedalam contoh program pemakaian inheritance/penurunan di pada PHP:

Pada contoh kode diatas, saya merancang class komputer dengan beberapa property dan sebuah method. Property class komputer belum berisi nilai apa-apa.

Dibawah class komputer, saya merancang class laptop extends class komputer. Disini saya menurunkan class komputer kedalam class laptop. Di pada class laptop, kita dapat mengakses seluruh property dan method apapun dari class komputer dalam rentang waktu mempunyai hak akses public atau protected.

Bagi membuktikan hal tersebut, saya merancang objek $laptop_baru dari class laptop. Perhatikan bahwa kita dapat mengakses property $merk, $processor, dan$memory yang semuanya ialah milik class komputer, bukan class laptop. Method beli_komputer() pun sukses diakses dari objek $laptop baru. Inilah yang dimaksud dengan inheritance/penurunan class pada OOP.

PHP tak membatasi berapa banyak ‘penurunan objek’ yang dapat dilakukan, pada contoh berikut, saya merancang 3 buah class yang saling ‘menurunkan’:

Pada contoh diatas, saya merancang class komputer yang diturunkan kepada class laptop, dan kemudian diturunkan lagi kepada class chromebook. Dari pada class chromebook ini kemudian saya memanggil method dari class diatasnya.

Kalau sahabat perhatikan, setiap method selain method beli_semua(), mempunyai hak akses protected. Hak akses protected ini ‘menghalangi’ kode program lain bagi mengaksesnya, selain class turunan.

Di baris terakhir, saya menyisipkan kode program bagi mencoba mengakses method beli_komputer() . Kode ini sengaja saya beri tanda komentar. Kalau sahabat menghapus tanda komentar, PHP akan mengeluarkan error yang menyatakan kita tak dapat mengakses method dengan hak akses protected:

Inilah yang dimaksud dengan enkapsulasi pada OOP. Membatasi method yang tak boleh diakses akan merancang kode program menjadi lebih terstruktur.

Penjelasan mengenai enkapsulasi telah kita bahas pada Tutorial OOP PHP: Pengertian Enkapsulasi Objek (Public, Protected dan Private)


Pada panduan belajar OOP PHP kali ini, kita telah mempelajari konsep inheritance atau pewarisan di dalam pemrograman objek. Pada beberapa panduan berikutnya, kita akan memperdalam konsep inheritance.

Penurunan class ini akan memberikan permasalahan tersendiri ketika terdapat property atau method dengan nama yang sama di parent class dan child class. Mengenai hal ini akan kita bahas pada panduan belajar OOP PHP berikutnya: Cara Mengakses Property dan Method Parent Class.


Sumber https://www.duniailkom.com/