0% menganggap dokumen ini bermanfaat (0 suara)
111 tayangan6 halaman

Pengertian Inheritance

Dokumen tersebut menjelaskan tentang konsep pewarisan (inheritance) dalam pemrograman berorientasi objek PHP dimana suatu class dapat mewarisi properti dan method dari class lain, serta cara mengimplementasikannya dengan kata kunci 'extends'.

Diunggah oleh

alwy
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
111 tayangan6 halaman

Pengertian Inheritance

Dokumen tersebut menjelaskan tentang konsep pewarisan (inheritance) dalam pemrograman berorientasi objek PHP dimana suatu class dapat mewarisi properti dan method dari class lain, serta cara mengimplementasikannya dengan kata kunci 'extends'.

Diunggah oleh

alwy
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Pengertian Inheritance (Pewarisan) dalam OOP

Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat
‘menurunkan’ property dan method yang dimilikinya kepadaclass lain.
Konsep inheritance digunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari
duplikasi kode program.
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 atauheir class.
Tidak semua property dan method dari class induk akan diturunkan. Propertydan 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 Inheritance dalam PHP


Di dalam PHP, inheritance / penurunan dari sebuah class kepada class lain menggunakan kata
kunci: ‘extends’, dengan penulisan dasar sebagai berikut:
1
class induk {
2 //...isi class induk
3 }
4
5 class anak extends induk
6 {
7 //... class anak bisa mengakses
//... property dan method class induk
8 }
9
Agar lebih mudah dipahami, kita akan langsung masuk kedalam contoh program
penggunaan inheritance/penurunan di dalam PHP:
<?php
1 // buat class induk: komputer
2 class komputer {
3
4 public $merk;
5 public $processor;
public $memory;
6
7 public function beli_komputer() {
8 return "Beli komputer baru";
9 }
10 }
11
12 // turunkan class komputer ke laptop
class laptop extends komputer {
13
14 public function lihat_spec() {
15 return "merk: $this->merk, processor: $this->processor,
16 memory: $this->memory";
17 }
}
18
19
// buat objek dari class laptop (instansiasi)
20 $laptop_baru = new laptop();
21
22 // isi property objek
23 $laptop_baru->merk = "acer";
24 $laptop_baru->processor ="intel core i5";
$laptop_baru->memory = "2 GB";
25
26
//panggil method objek
27 echo $laptop_baru->beli_komputer();
28 echo "<br />";
29 echo $laptop_baru->lihat_spec();
30 ?>
31
32
33
34
35
Dalam contoh kode diatas, saya membuat class komputer dengan beberapaproperty dan
sebuah method. Property class komputer belum berisi nilai apa-apa.
Dibawah class komputer, saya membuat class laptop extends class komputer. Disini
saya menurunkan class komputer kedalam class laptop. Di dalam classlaptop, kita bisa
mengakses seluruh property dan method apapun dari class komputer selama memiliki hak
akses public atau protected.
Untuk membuktikan hal tersebut, saya membuat objek $laptop_baru dari classlaptop. Perhatikan
bahwa kita bisa mengakses property $merk, $processor,dan$memory yang semuanya adalah
milik class komputer, bukan class laptop. Method beli_komputer() juga sukses diakses dari
objek $laptop baru. 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 ‘menurunkan’:
1
2
3
<?php
4 // buat class komputer
5 class komputer {
6 protected function beli_komputer() {
7 return "Beli komputer baru";
8 }
}
9
10 // turunkan class komputer ke laptop
11 class laptop extends komputer {
12 protected function beli_laptop() {
13 return "Beli laptop baru";
14 }
}
15
16 // turunkan class laptop ke chromebook
17 class chromebook extends laptop {
18 protected function beli_chromebook() {
19 return "Beli chromebook baru";
}
20
21
public function beli_semua(){
22 $a = $this->beli_komputer();
23 $b = $this->beli_laptop();
24 $c = $this->beli_chromebook();
25 return "$a <br /> $b <br /> $c";
}
26 }
27
28 // buat objek dari class laptop (instansiasi)
29 $gadget_baru = new chromebook();
30
31 //panggil method objek
32 echo $gadget_baru->beli_semua();
33
// $gadget_baru->beli_komputer();
34 // Fatal error: Call to protected method komputer::beli_komputer()
35 ?>
36
37
38
Dalam contoh diatas, saya membuat class komputer yang diturunkan kepadaclass laptop, dan
kemudian diturunkan lagi kepada class chromebook. Dari dalam class chromebook ini kemudian
saya memanggil method dari classdiatasnya.
Jika anda perhatikan, setiap method selain method beli_semua(), memiliki 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 saya beri tanda komentar. Jika anda menghapus
tanda komentar, PHP akan mengeluarkan error yang menyatakan kita tidak bisa mengakses
method dengan hak aksesprotected:
1 <?
2 $gadget_baru->beli_komputer();
3 // Fatal error: Call to protected method komputer::beli_komputer()
4 ?>

Inilah yang dimaksud dengan enkapsulasi dalam OOP. Membatasi methodyang tidak boleh
diakses akan membuat kode program menjadi lebih terstruktur.

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

Dalam tutorial belajar OOP PHP kali ini, kita telah mempelajari konsepinheritance atau
pewarisan di dalam pemrograman objek. Dalam beberapa tutorial selanjutnya, kita akan
memperdalam konsep inheritance.
Penurunan class ini akan memberikan permasalahan tersendiri ketika
terdapat property atau method dengan nama yang sama pada parent class dan child class.
Mengenai hal ini akan kita bahas dalam tutorial belajar OOP PHP berikutnya: Cara Mengakses
Property dan Method Parent Class.
Tutorial Terkait:
Tags: Belajar Inheritance Objek, Belajar Objek PHP, Object Oriented
Programming,Pemrograman Berbasis Objek, Pemrograman Objek PHP, Pengertian
Inheritance,Pengertian Pewarisan Objek, Tutorial OOP PHP

14 COMMENTS

1.

Falah
16 Dec 14
Saya coba contoh yang terakhir ternyata tidak error, hasilnya :
“Beli komputer baru
Beli laptop baru
Beli chromebook baru”
Gimana ini ya?
bukannya harusnya tidak error? kan class komputer di protected tetapi di akses oleh class chrome
yang merupakan publik?
Reply


Andre
16 Dec 14
Betul gan, kode tersebut tidak akan menghasilkan error, karena method $gadget_baru-
>beli_semua() adalah public.
Kode program yang saya maksud akan menghasilkan error memang sengaja saya buat
sebagai komentar:

// $gadget_baru->beli_komputer();

// Fatal error: Call to protected method komputer::beli_komputer()

Jika komentar dihapus, baru akan terjadi error:


$gadget_baru->beli_komputer();

// Fatal error: Call to protected method komputer::beli_komputer()

Mungkin penjelasannya agak kurang jelas, dan akan saya perbaiki.


Terimakasih koreksinya gan :)

Anda mungkin juga menyukai