Enkapsulasi Dalam PHP


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 istilahinformation 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 tertentuclass menjadi lebih terintegrasi, dan menghindari kesalahan ketika seseorangmencobamengubahnya. 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 classObjek Oriented Programming menyediakan 3 kata kunci, yakni PublicProtected 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 sendiriClass 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