Pengertian
Enkapsulasi (encapsulation) adalah sebuah
metoda
untuk
mengatur
struktur
class dengan
cara
menyembunyikan alur kerja
dari
class tersebut.
Struktur
class yang
dimaksud adalah property dan method. Dengan enkapsulasi, kita bisa membuat pembatasan akses kepada property dan method, sehingga hanya property dan methodtertentu saja yang
bisa diakses dari luar
class. Enkapsulasi juga dikenal dengan istilah ‘information
hiding’.
Dengan enkapsulasi, kita bisa memilih property dan method apa saja yang
boleh diakses, dan mana
yang tidak boleh diakses. Dengan menghalangi kode
program lain untuk mengubah property tertentu, class menjadi lebih terintegrasi, dan menghindari kesalahan ketika seseorang ‘mencoba’ mengubahnya.
Programmer yang merancang class bisa menyediakan property dan method khusus yang
memang ditujukan untuk diakses dari luar.
Access Modifier
Untuk membatasi hak akses kepada property dan method di dalam sebuah class, Objek
Oriented Programming menyediakan 3
kata kunci, yakni Public, Protected dan Private.
Kata kunci ini diletakkan sebelum nama property atau sebelum nama method.
1. Public
Ketika sebuah property atau method dinyatakan sebagai public, maka seluruh
kode
program di luar
class bisa
mengaksesnya,
termasuk
class turunan. Berikut adalah contoh penulisan public propertydan public method dalam PHP.
2. Protected
Jika sebuah property atau method dinyatakan sebagai protected, berarti property atau method tersebut tidak
bisa
diakses
dari
luar
class, namun
bisa
diakses
oleh
class itu
sendiri
atau
turunan
class tersebut.
Apabila kita mencoba mengakses protected property atau protected method dari luar class, akan menghasilkan error, seperti contoh berikut ini:
Dalam contoh diatas, pemanggilan property $pemilik dan method hidupkan_laptop() dari luar
class akan menghasilkan
error. Walaupun akses
level protected tidak bisa diakses dari luar
class, namun bisa
diakses
dari
dalam
class itu
sendiri.
3. Private
Hak akses terakhir dalam konsep enkapsulasi adalah private. Jika sebuah property atau method di-set
sebagai private, maka satu-satunya yang
bisa mengakses adalah class itu sendiri. Class lain
tidak bisa mengaksesnya, termasuk class
turunan. Akses
level private sering digunakan untuk menyembunyikan property dan method agar
tidak bisa diakses di luar
class.
Sebagai contoh, berikut adalah hasil yang
di dapat jika kita mengakses property dan methoddengan
level private:
Itu mungkin penjelasan singkat tentang Enkapsulasi, Terimakasih.
Comments
Post a Comment