Cara menggunakan php abstract class
Cara untuk memastikan agar child class memiliki method tertentu yang isinya tidak harus sama antara child class satu dan yang lainnya adalah menggunakan abstract class dan interface. Disini kita akan membahas abstract class. Abstract class dideklarasikan dengan keyword abstract. Abstract class memiliki setidaknya satu
abstract method. Abstract method adalah method yang hanya memiliki nama dan argumen saja : abstract protected function namaMethod(). Abstract class tidak akan dibuat instancenya, hanya digunakan untuk keperluan pembuatan child class yang akan diturunkan darinya. Contohnya kita akan melihat bangun datar. Bangun datar bisa berupa bujursangkar, segitiga, persegi panjang, yang cara perhitungan luasnya berbeda beda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 abstractclassBangunDatar{ abstractprotectedfunctionhitungLuas(); } class
PersegiextendsBangunDatar{ protected$sisi=4; publicfunctionhitungLuas(){ return
pow($this->sisi,2); } } classSegitigaextendsBangunDatar{ protected
$alas=4; protected$tinggi=3; publicfunctionhitungLuas(){ return
(0.5*$this->alas*$this->tinggi); } } classLingkaranextends
BangunDatar{ protected$jarijari=7; publicfunctionhitungLuas(){ return
(3.14*pow($this->jarijari,2)); } } $persegi=new
Persegi(); echo'Luas Persegi = '.$persegi->hitungLuas()." $segitiga=new
Segitiga(); echo'Luas Segitiga = '.$segitiga->hitungLuas()." $lingkaran=new
Lingkaran(); echo'Luas Lingkaran = '.$lingkaran->hitungLuas()." ?> Di kode diatas terdapat abstract class BangunDatar{} yang memiliki abstract method hitungLuas(). Sehingga di setiap child dari BangunDatar{} harus mempunyai method hitungLuas().
Menambah Property dan Method pada Abstract ClassAbstract Class juga bisa memiliki property dan method. Hanya yang membedakan dengan Class biasa adalah dia tidak akan diinstansiasi menjadi object.
Pada kode diatas terdapat method isiBensin() di abstract class, yang bisa digunakan oleh child classnya. Abstract method adalah jarakTempuhMaksimum(), sehingga di setiap child Class nya harus mempunyai method ini. Kapan kita menggunakan abstract class?Abstract class digunakan di dalam inheritance (pewarisan class) untuk 'memaksakan' implementasi method yang sama bagi seluruh class yang diturunkan dari abstract class. Abstract class digunakan untuk membuat struktur logika penurunan di dalam pemrograman objek.
Apa itu abstract class dan method?Abstract class adalah class yang mempunyai y g p y setidaknya satu abstract method. Abstract method adalah method yang tidak memiliki body (hanya deklarasi method) memiliki body (hanya deklarasi method). Abstract class tidak bisa dibuat obyeknya. Obyek hanya bisa dibuat dari non-abstract class (concrete class).
Jelaskan apa yg dimaksud dengan abstract class?Konsep abstract class. Abstract class atau kelas abstrak adalah kelas yang terletak di posisi tertinggi dalam hierarki class. Class ini tidak dapat diinstansiasi karena masih bersifat abstrak. Class ini hanya berisi variabel umum dan deklarasi method tanpa detail penggunaannya (abstract method).
Apa perbedaan kelas biasa dengan class abstract?=> Abstract class adalah sebuah class setengah jadi (abstrak) yang memuat/memiliki method dan atrribut. Abstract class sebenarnya adalah sebuah class, sehingga memiliki semua sifat dari class biasa (punya konstruktor). Hanya saja sifatnya masih abstrak, karena itu biasanya method kosong/belum di implementasikan.
|