Dalam pembahasan kali ini kita akan mengulas tentang abstract dan cara penggunaannya pada Bahasa pemrograman php.
Abstract atau abstrak adalah sebuah class yang tidak bisa di instansiasi dengan kata lain abstract tidak dapat dijadikan sebuah object, dimana pada dasarnya penggunaan abstract dalam pemgoraman berorientasi objek adalah sebagai kerangka dasar dalam menciptakan berbagai kemudahan yang akan digunakan untuk pengembangan program yang akan kita buat.
Selain itu abstract minimal mengandung satu buah method (function), yaitu method yang berupa nama method dan argumennya (jika ada). Fungsi abstract sendiri sebagai sebuah kerangka kerja bertujuan untuk menurunkan penggunaan method pada class yang lain yang ingin menggunakan jasa abstract itu sendiri.
Contoh Penulisan Abstract PHP
Kita akan coba membuat sebuah abstract dengan nama class Mobil:
<?php
abstract class Mobil {
// statement
}
?>
Code language: HTML, XML (xml)
Cara membuat abstract pada php diawali dengan abstract class untuk, tidak ada yang membedakan dengan cara penulisan class hanya saja fungsinya yang berbeda.
Cara mengimplementasikan abstract class
Seperti yang sebelumnya saya katakana bahwa abstract class digunakan untuk menurunkan fungsi pada class lainnya dan wajib digunakan pada class turunanya tersebut.
<?php
abstract class Mobil {
abstract public function merk();
}
class Kijang extends Mobil {
public function warna()
{
return 'Merah';
}
}
$kijang = new Kijang();
?>
Code language: HTML, XML (xml)
Pada contoh kode diatas kita tidak menurunkan method apapun dari abstract class mobil ke class Toyota, seperti terlihat bahwa di dalam abstract Mobil memiliki sebuah method merk akan tetapi kita tidak merunkannya ke class Kijang sehingga akan menampilkan pesan error seperti dibawah ini:
Mari kita ubah sedikit kode tersebut agar abstract mobil dapat bekerja pada class kijang sehingga menampilkan beberapa hal yang “Kijang” butuhkan sebagai sebuah identitas kendaraan umumnya.
<?php
abstract class Mobil {
abstract public function merk();
}
class Kijang extends Mobil {
public function merk()
{
return 'Toyota';
}
public function warna()
{
return 'Merah';
}
}
$kijang = new Kijang();
echo $kijang->merk();
echo '<br />';
echo $kijang->warna();
?>
Code language: HTML, XML (xml)
Dari kode di atas maka akan tampil seperti gambar dbawah ini:
Maka dari contoh diatas sebuah abstract apabila diturunkan pada sebuah class maka method yang terdapat pada sebuah abstract tersebut wajib di implementasikan pada class turunanannya. Hal ini bertujuan sebagai krangka kerja, sebagai standarisasi penulisan kode program yang ingin di buat.