0% menganggap dokumen ini bermanfaat (0 suara)
91 tayangan

Tutorial Belajar OOP PHP Part 9 (Inheritance)

Tutorial ini menjelaskan konsep inheritance dalam OOP PHP dimana class dapat mewarisi properti dan method dari class lain untuk menghindari duplikasi kode. Class yang menerima warisan disebut class turunan sedangkan class yang diteruskan disebut class induk. Contoh kode mendemonstrasikan pewarisan class Komputer ke Laptop dan Chromebook.

Diunggah oleh

ardykuncoro.o
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
91 tayangan

Tutorial Belajar OOP PHP Part 9 (Inheritance)

Tutorial ini menjelaskan konsep inheritance dalam OOP PHP dimana class dapat mewarisi properti dan method dari class lain untuk menghindari duplikasi kode. Class yang menerima warisan disebut class turunan sedangkan class yang diteruskan disebut class induk. Contoh kode mendemonstrasikan pewarisan class Komputer ke Laptop dan Chromebook.

Diunggah oleh

ardykuncoro.o
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Tutorial Belajar OOP PHP Part 9:

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

BELAJAR INHERITANCE OBJEK BELAJAR OBJEK PHP OBJECT ORIENTED PROGRAMMING PEMROGRAMAN BERBASIS

OBJEK PEMROGRAMAN OBJEK PHP PENGERTIAN INHERITANCE PENGERTIAN PEWARISAN OBJEK TUTORIAL OOP PHP

Category: Tutorial PHP

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

Pengertian Inheritance (Pewarisan)


dalam OOP
Inheritance atau Pewarisan/Penurunan adalah konsep
pemrograman dimana sebuah class dapat
‘menurunkan’ property dan method yang dimilikinya
kepada class 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. 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 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 {
   //... class anak bisa mengakses
7    //... property dan method class induk
8 }
9
Agar lebih mudah dipahami, kita akan langsung masuk kedalam contoh program
penggunaaninheritance/penurunan di dalam PHP:
1
2
3
<?php
4 // buat class induk: komputer
5
6 class komputer {
7   
8    public $merk;
9    public $processor;
   public $memory;
10
  
11    public function beli_komputer() {
12      return "Beli komputer baru";
13    }
14 }
15   
16 // turunkan class komputer ke laptop
class laptop extends komputer {
17
  
18    public function lihat_spec() {
19      return "merk: $this->merk, processor: $this->processor,
20      memory: $this->memory";
21    }
22 }
23   
// buat objek dari class laptop (instansiasi)
24 $laptop_baru = new laptop();
25   
26 // isi property objek
27 $laptop_baru->merk = "acer";
28 $laptop_baru->processor ="intel core i5";
29 $laptop_baru->memory = "2 GB";
30   
//panggil method objek
31 echo $laptop_baru->beli_komputer();
32 echo "<br />";
33 echo $laptop_baru->lihat_spec();
34 ?>
35
Dalam contoh kode diatas, saya membuat class komputer dengan beberapa property dan
sebuahmethod. Property class komputer belum berisi nilai apa-apa.
Dibawah class komputer, saya membuat class laptop extends class komputer. Disini
saya menurunkanclass komputer kedalam class laptop. Di dalam class laptop, kita bisa mengakses
seluruh property danmethod apapun dari class komputer selama memiliki hak
akses public atau protected.
Untuk membuktikan hal tersebut, saya membuat objek $laptop_baru dari class laptop. Perhatikan
bahwa kita bisa mengakses property $merk, $processor, dan$memory yang semuanya adalah
milikclass 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 kepada class laptop, dan
kemudian diturunkan lagi kepada class chromebook. Dari dalam class chromebook ini kemudian
saya memanggil method dari class diatasnya.
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 program, saya menyisipkan kode program untuk mencoba mengakses
methodbeli_komputer(). Jika anda menghapus tanda komentar, PHP akan mengeluarkan error yang
menyatakan kita tidak bisa mengakses method dengan hak akses protected. Inilah yang dimaksud
dengan enkapsulasi dalam OOP. Membatasi method yang 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 konsep inheritance 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 ataumethod 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.

Anda mungkin juga menyukai