Mengenal Aksesbilitas Property & Method dengan Encapsulation
Selamat sore bro, udah mau magrib nih.. sebelum ke air saya mau ngelanjutin postingan Belajar OOP (Object Oriented Programming) Menggunakan PHP Untuk Pemula sebelumnya saya sudah memposting artikel Mengenal Constructors & Destructors dan sekarang saya melanjutkan dengan postingan ke 3 di belajar oop ini.. Selamat menyimak.. :D
Ya pertama kita tanya dulu apa itu Encapsulation? Encapsulation adalah istilah yang terkait dengan aksesbilitas property dan method dalam suatu class. Dengan encapsulation ini kita bisa mengatur sebuah property dan method. Apakah sebuah property dan method ini hanya bisa diakses didalam class saja atau bisa diakses diluar class.
Dalam encapsulation ini terbagi menjadi 3 bagian. yaitu :
- Public => Property atau method bisa diakses dimanapun (Diluar Class)
- Private => Property atau method hanya bisa diakses didalam class saja.
- Protected => Property atau method hanya bisa diakses didalam class dan class turunannya saja.
Masih bingung ? Coba praktekan dibawah ini :
Terus coba jalanin di webserver nya, pasti bakal ada keterangan error seperti ini :
Fatal error: Cannot access private property Siswa::$nilai in /../../ on line ..
Keterangan tersebut dikarenakan kita tidak dapat memanggil property $dika->nilai
yang sifatnya private dan hanya bisa diakses didalam class saja. Lalu bagaimana cara memanggilnya? Oke kita perbaiki error tersebut seperti dibawah ini.
Setelah itu kita jalankan dan property $dika->nilai
bisa dibaca dengan method public $dika->BacaNilai()
. Namun ternyata masih ada error seperti ini.
Fatal error: Call to protected method Siswa::StatusNilai() from context '' in /.../.../ on line ..
Itu menandakan method $dika->StatusNilai()
bersifat protected yang hanya bisa dibaca di dalam class dan class turunan classnya saja. Lalu bagaimana cara membaca method tadi di class turunan? mungkin ini belum di jelasin dalam artikel sebelumnya, tapi kita buat aja dulu sekilas tentang class turunan, untuk lebih lanjutnya pantengin aja artikel selanjutnya. Oke sekarang buatlah class turunan siswa seperti dibawah ini.
Gimana? udah ga ada error lagi kan? :D kalo masih error coba perhatikan errornya dimana :p semoga tutorial lanjutan ini bermanfaat yaw.. :D sampai jumpa di tutorial selanjutnya :D
Comments