Enkapsulasi Objek : Public, Protected dan Private Di PHP Object Oriented Programming (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.
  1. 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 di aksess 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();
?>

0 Response to "Enkapsulasi Objek : Public, Protected dan Private Di PHP Object Oriented Programming (OOP)"

Posting Komentar