Bagaimana cara untuk memastikan agar suatu child class memiliki suatu
method tertentu, tetapi detail kode di method tersebut tidak harus sama?
Ada 2 cara yang bisa kita terapkan untuk memecahkan masalah ini,
yaitu Abstract class dan Interface.
Pada bab ini, kita akan membahas tentang abstract class. Sedangkan
untuk interface akan kita bahas di bab lainnya.
Dengan kata lain, untuk setiap class Persegi{}. segitiga{} dan Lingkaran{}
kita harus memiliki method hitungLuas(). Tentu saja implementasi kode
untuk menghitung luas tiap bentuk bangun datar berbeda.
PBO_Di_PHP @rommikaestria
abstract protected function namaMethod();
kita tidak bisa membentuk instance object dari suatu abstract class,
namun kita harus membuat child class untuk membuat object dari
abstract class tersebut.
PBO_Di_PHP @rommikaestria
Penjelasan Skrip :
PBO_Di_PHP @rommikaestria
■ Baris 39 - 40. Pembuatan instance class Persegi{}.
Apakah suatu abstract class bisa zncmpunyai property dan method yang
non-abstract? Jawabannva bisa. Pada prinsipnya abstract class sama
dengan class-class lainnya. hanya saja ia tidak bisa dinstansiasi menjadi
sebuah object. Untuk menambahkan proprerty dan abstract method
pada abtract class:
PBO_Di_PHP @rommikaestria
Penjelasan Skrip :
Method ini adalah kontrak yang harus dipenuhi oleh semua child class
yang meng-inherit class Mobil{}. Dengan kata lain, semua child class
yang merupakan turunan dari class Mobil{) harus meniiliki method
jarakTempuhMaksimum().
PBO_Di_PHP @rommikaestria
■ Baris 17. Property $perLiter, jarak tempuh yang dapat ditempuh untuk
setiap liter bensin.
Jalankan skripnya maka hasilnya dapat dilihat pada gambar dibawah ini
Abstract class tidak bisa dibuat menjadi instance object, kita membuat
instance object dari child class yang meng-extends abstract class
tersebut. Dari sinilah abstract class berfungsi untuk memastikan agar child
class memiliki method tertentu yang harus diimplementasikan.
PBO_Di_PHP @rommikaestria