Enkapsulasi Objek : Public, Protected dan Private Di PHP OOP
Yang pertama yang lo pikirin pasti apa itu enkapsulasi? enkapsulasi merupakan metoda untuk mengatur struktur class dengan cara menyembunyikan alur kerja dari class tersebut. struktur class yang di maksud yaitu property dan method. dengan menggunakan metod ekapsulasi kita dapat mengatur hak aksess dari class untuk membatasi aksess kepada property dan method.
Yang pertama yang lo pikirin pasti apa itu enkapsulasi? enkapsulasi merupakan metoda untuk mengatur struktur class dengan cara menyembunyikan alur kerja dari class tersebut. struktur class yang di maksud yaitu property dan method. dengan menggunakan metod ekapsulasi kita dapat mengatur hak aksess dari class untuk membatasi aksess kepada property dan method.
- Hak aksess : Public
ketika sebuah method dan property di dibuat sebagai public maka seluruh kode program dapat mengaksessnya termasuk class turunan berikut ini contohnya :
<?php //buat class motor class Motor{ //buat public property public $type; //buat public method public function hidupkan_motor() { return "Hidupkan Motor"; } } //buat objek dari class motor(inisialisasi) $motor_rokib = new Motor(); //set property $motor_rokib->type ="sport"; //tampilkan property echo $motor_rokib->type; //tampilkan method echo $motor_rokib->hidupkan_motor(); ?>
2. Pengertian Hak akses: protected
Pasti lo berpikir Apa itu protected? Protected merupakan hak aksess untuk method atau property yang dapat
dilakukan oleh class itu sendiri atau turunan dari class f dan tidak bisa diaksess diluar class. Berikut ini contohnya :
<?php //buat class motor(meneruskan tutorial yang sebelumnya) class Motor{ //buat protected property protected $merek = “Honda”; pubic function nama_merek() { return $this->merek; } protected function nama_motor() { return “Nama Motor ”; } public function nama_lain() { return$this->nama_lain(); } } //buat objek dari class motor (inisialisasi) $merek_motor = new Motor(); //menampilkan method aksess merek echo $merek_motor->nama_motor(); echo $merek_motor->nama_lain(); ?>
Masih sama dengan contoh yang gua udah kasih sebelumnya property $merek dideklarasikan sebagai protected sehingga jika diaksess dari luar class akan menghasilkan error . Oleh karna itu gua membuat sebuah public method yang berguna untuk menghasilkan hasil property $merek, yakni method merek_motor ().Selain dari class sendiri yang bisa mengaksess
method, turunan dari class juga bisa mengaksess. Contohnya sebagai berikut :
<?php //buat class handphone class handphone{ //buat property dengan hak aksess protected protected $jenis_kamera =”vga”; } //buat class kamera class kamera extends handphone{ public function tampilkannama_kamera(){ return->jenis_kemera; } } //buat objek dari class kamera $new_kamera = new kamera (); //jalankan method echo $new_kamera->tampilkannama_kamera(); //maka akan menampilkan “VGA” ?>
Dari script diatas mencontohkan walapun $jenis_kamera dibuat sebagai protected
tatapi bisa diaksess oleh class kamera karena class kamera turunan dari class
handphone.
3. Pengertian Hak Aksess : Private Gua akan sedikit menjelaskan tentang pengertian private. Private merupakan konsep enkapsuasi yang terakhir. Private hanya bisa di aksess oleh class itu sendiri tidak dapat di aksess oleh class yang lain ataupun class turunan. Contohnya sebagai berikut:
tatapi bisa diaksess oleh class kamera karena class kamera turunan dari class
handphone.
3. Pengertian Hak Aksess : Private Gua akan sedikit menjelaskan tentang pengertian private. Private merupakan konsep enkapsuasi yang terakhir. Private hanya bisa di aksess oleh class itu sendiri tidak dapat di aksess oleh class yang lain ataupun class turunan. Contohnya sebagai berikut:
<?php //buat class handphone class handphone{ //buat property dengan hak aksess protected private $jenis_kamera =”vga”; public function tampilkannama_kamera() { return $this->jenis_kamera; } } //buat class kamera class kamera extends handphone{ public function tampilkannama_kamera(){ return->jenis_kemera; } } //buat objek dari class kamera $new_kamera = new kamera (); $new_handphone= new handphone(); //jalankan method echo $new_kamera->tampilkannama_kamera(); //maka akan menampilkan “VGA” echo $new_handphone->jenis_kamera(); ?>
Sekian dulu Smoga artikel ini bermanfaat dan bisa menambah ilmu pengetahuan para pembaca. Wasalamualiku.
0 Response to "Enkapsulasi Objek : Public, Protected dan Private Di PHP OOP"
Posting Komentar