Encapsulation
Konsep fundamental berikutnya di dalam pemrograman berorientasi
objek adalah encpsulation atau pembungkusan. Orientasi objek mendukung
karakteristik enkapsulasi menggunakan konsep class, dan setelah
terbentuk maka class akan bertindak sebagai entitas yang terenkapsulasi
(terbungkus). Tentu saja enkapsulasi objek ini memiliki maksud tersendiri,
terutama dalam impelementisnya ketika mengembangkan perangkat
lunak berbasis objek.
Sering pula dikatakan bahwa enkapsulasi merupakan teknik penyembunyian
informasi ke dalam struktur. Tujuan enkapsulasi adalah untuk
menyembunyikan properti dan method dari suatu objek, dan hanya
menampilkan properti serta method yang dibutuhkan. Ada pun properti
atau method yang ditampilkan dari suatu objek dikenal dengan istilah
interface. Pembahasan mengenai interface akan dijelaskan dalam
subbab tersendiri.
Beberapa keuntungan yang didapatkan pemrogram melalui penggunaan
enkapsulasi adalah:
Catatan:
Class turunan selalu bergantung pada base class tunggal, dan sampai saat
ini PHP tidak mendukung adanya multiple inheritance.
• Modularitas
Kode program untuk objek dapat ditulis serta dikelola secara
independen untuk kode program pada objek lainnya.
• Informasi yang tersimpan dan tersembunyi
Objek memiliki interface public yang dapat digunakan oleh objek lain
untuk berkomunikasi. Selain itu, objek juga memiliki informasi private
yang dapat diubah setiap saat dengan tanpa mempengaruhi objek
lain yang bergantung padanya.
Polymorphism
Istilah polymorphism berasal dari kata poly yang berarti banyak (many)
dan morphos yaitu bentuk (form). Istilah ini ternyata tidak hanya
digunakan dalam bahasa pemrograman, akan tetapi bidang-bidang
seperti biologi dan kimia juga sering memakainya. Terlepas dari adanya
bidang lain yang menggunakan, tentu saja di sini kita akan membahas
dari sisi pemrograman.
Dalam pemrograman berorientasi objek, polymorphism merupakan hasil
alamiah dari hubungan is-a dan suatu mekanisme dari message passing,
inheritance, serta konsep substitutability. Sebagaimana diketahui, salah
satu kemampuan menonjol dari pendekatan OOP bahwa peralatan
dapat dikombinasikan dalam bermacam cara, dan menghasilkan teknik
berbagi kode dan penggunaan ulang. Oleh karena itu, di dalam
pemrograman berorientasi objek, polymorphism diartikan merupakan
suatu konsep yang menyatakan bahwa sesuatu yang sama dapat
memiliki berbagai bentuk serta perilaku berbeda.
Berkaitan dengan eksepsi overloading, polymorphism membuat kemungkinan
melalui adanya variabel yang disebut variabel polymorphism.
Begitu pula di dalam overloading, suatu method dikatakan polymorphism
apabila memiliki banyak bentuk. Perlu diperhatikan bahwa di dalam PHP,
hanya fungsi yang merupakan member dari class yang dapat menggunakan
konsep polymorphism ini.
Instantiation
Begitu Anda selesai mendeklarasikan class, maka Anda akan melangkah
ke pembuatan objek. Hal ini juga Anda alami ketika membuat instance
atau instantiating suatu class.
Dalam pembuatan objek dengan kata kunci (keyword) new, Anda perlu
menetapkan apa class objek yang akan di-instance dan menyediakan
parameter pendukung.
/* instantiasi.php */
class NamaClass {
function NamaClass ($param) {
echo "Pemanggilan dengan Parameter $param
";
}
}
$a = new NamaClass ("Satu");
$b = new NamaClass ("dua");
$b = new NamaClass ("tiga");
$d = new NamaClass();
?>
Pada listing program di atas, oleh karena konstruktor dipanggil terpisah
maka dibuat objek tersendiri. Perhatikan tampilan hasil eksekusi program,
meskipun objek $d berhasil dijalankan, namun terdapat pesan yang
menyatakan bahwa diperlukan argumen pada pemanggilan parameter.
Gambar 8.3 Instantiasi objek
bersambung<<<<<<<<<<<>>>>>>>>