Posted by Materi Teknik Informatika • Informasi Teknologi Informasi • Digital Marketing on 10/07/2015
Enkapsulasi pada intinya memberikan hak akses tertentu pada suatu property dan method dalam Class tertentu yang terbagi atas 3 bagian yaitu Public, Protected dan Private.
Analogi simpel, contoh pada Status dalam Facebok yang terdapat 3 hak akses shared, Public, Friend dan Private.
Implementasi simple dari penggunaan Enkapsulasi PHP OOP :
<title>Enkapsulasi - PHP OOP</title>
<?php
class Facebook {
public $status;
// Public : Seluruh method dan property di luar Class bisa di akses, termasuk Class turunan.
public function update_status() {
return "Hidup itu tantangan, so keep spirit!";
}
}
$fb = new Facebook();
$fb->status="Someone (Public) :";
echo $fb->status;
echo $fb->update_status();
?>
<?php
class Facebook_Protected {
protected $username="Someone (Protected) :";
public $status="Hidup itu memang tantangan, tantangan itu adalah melupakan kamu."; // Ganti jadi private (Example)
/* Protected : Property dan method tidak bisa diakses dari luar Class,
namun bisa diakses oleh Class itu sendiri atau turunan Class tersebut.*/
public function protected_username() {
return $this->username;
}
}
class Protected_status extends Facebook_Protected { // Hapus Facebook_Protected (Example)
public function protected_status_update() {
return $this->status;
}
}
$fb_protected = new Facebook_Protected();
$fb_status = new Protected_status();
echo $fb_protected->protected_username();
echo $fb_status->protected_status_update();
?>
<?php
class Facebook_Private {
private $username="Someone (Private) :";
/* Private : Jika sebuah property dan method di setting sebagai Private,
maka satu-satunya yang bisa mengakses adalah Class itu sendiri.*/
public function private_username() {
return $this->username;
}
private function private_status() {
return "Dari dulu aku selalu berjuang demi kamu, orang seperti apa aku ini yang selalu mengharapkan kamu!.";
}
public function private_status_update() {
return $this->private_status();
}
}
$fb_private = new Facebook_Private();
echo $fb_private->private_username();
echo $fb_private->private_status_update();
?>
Bisa di lihat perbedaan antara
Public,
Protected dan
Private, yang telah dijelaskan dalam
comment implementasi Enkapsulasi dalam PHP OOP.
Sekian artikel tentang
Implementasi Enkapsulasi PHP OOP, semoga bermanfaat.