Belajar OOP Bag 5 - Inheritance (Pewarisan)
Inheritance merupakan sebuah konsep memrograman OOP dimana sebuah Class dapat menurunkan property dan method yang dimilikinya kepada Class lain/Class turunan. Hal ini dilakukan untuk menghindari terjadinya duplikasi content atau untuk memanfaatkan satu content/fungsi untuk banyak Class.
Konsep inheritance ini membuat Class lebih terstruktur. Class yang diturunkan dinamakan Parent Class (induk) sedangkan Class yang menerima turunan disebut Child Class (anak).
Kita kembali lagi pada analogi object dalam kehidupan sehari hari, saya ambil contoh parent-nya adalah Barang Elekronik, dalam Class Barang Elekronik itu memiliki property (merek, harga, OS). Kemudian Child-nya adalah PC dg property (mouse, mother board, keyboard) dan Smartphone dg property (sim card, camera, touchscreen). Nah, Class Barang Elektronik dapat menurunkan property-nya (merek, harga, OS) kepada Class PC dan Smartphone, sehingga Class Child tidak perlu lagi membuat property yang sama secara berulang-ulang.
Tidak semua property dan method dapat diturunkan, hanya property dan method dengan hak akses Protected-lah yang dapat diturunkan, tidak termasuk Public dan Private.
Berikut contoh menggunakan konsep Inheritance dalam PHP.
Untuk menurunkan sifat dari Class Parent ke Class Child harus menggunakan keyword “extends”.

Nah, untuk lebih lengkapnya berikut saya akan buat sebuah Class dengan nama BarangElektronik dimana Class tersebut sebagai Class Induk.

Kemudian saya buat lagi Class Laptop sebagai Class Turunan/Anak dari Class BarangElektronik. Di dalam method lihat_space(), saya dapat menggunakan property-property dari Class Induk seperti Merk, Prosessor, Memory.

Oke, sekarang kita akan membuat Object.

Nah, kita isi dulu property-property nya.

Lalu kita cetak dua method dalam Class Induk dan Turunannya.

Maka akan tampil hasilnya seperti berikut:

Webinar Gratis 2024
Sabtu, 09 Maret 2024
10 Bahasa Rekomendasi Untuk Dipelajari di 2024
Python Developer, Data Science, Web Application
Minggu, 26 Mei 2024, 09.00-13.00 WIB
(4 Jam Membuat Backend di Laravel 11)