Sebelum memahami konsep enkapsulasi, penting untuk memahami konsep specifier akses. Penentu akses menentukan jenis akses anggota (properti dan metode) kelas dan ada tiga jenis penentu akses di PHP
- publik. anggota kelas dapat diakses dari mana saja. Ini juga merupakan penentu akses default
- terlindung. anggota kelas dapat diakses di dalam kelas dan oleh kelas turunan
- pribadi. anggota kelas HANYA dapat diakses di dalam kelas
Contoh
Pada contoh di bawah ini, dibuat kelas bernama person yang memiliki properti pribadi bernama name. Ketika diakses di dalam program, itu menimbulkan pengecualian karena itu adalah properti pribadi dan tidak dapat diakses di luar kelas di mana ia didefinisikan.
name; ?>
Output dari kode di atas akan menjadi
PHP Fatal error: Uncaught Error: Cannot access private property person::$name _
Enkapsulasi adalah proses pengikatan properti dan metode bersama dalam satu unit yang disebut kelas. Ini bertujuan untuk mencegah akses langsung ke properti dan hanya tersedia melalui metode kelas. Enkapsulasi data menyebabkan konsep penting dari penyembunyian data dalam pemrograman berorientasi objek yang juga dikenal sebagai abstraksi Data. Abstraksi data adalah mekanisme yang hanya menampilkan antarmuka dan menyembunyikan detail implementasi dari pengguna
Langkah Enkapsulasi Data
- Deklarasikan setiap properti sebagai pribadi
- Buat metode set publik untuk setiap properti untuk mengatur nilai properti
- Buat metode get publik untuk setiap properti untuk mendapatkan nilai properti
Pada contoh di bawah ini, set publik dan dapatkan metode dibuat untuk mengakses nama properti pribadi dan usia orang kelas
Enkapsulasi digunakan untuk menyembunyikan nilai atau keadaan objek data terstruktur di dalam kelas, mencegah akses langsung pihak yang tidak berwenang ke mereka. Ini adalah konsep yang memotivasi kita untuk memikirkan metode/tanggung jawab kelas dan menyembunyikan implementasi/detail internalnya. Ini akan memudahkan untuk memodifikasi kode internal dalam jangka panjang tanpa mempengaruhi bagian lain dari sistem. Visibilitas adalah mekanisme enkapsulasi
Contoh Enkapsulasi
name = $name; } public function getName($name) { return $this->name; } } $robin = new Person(); $robin->setName("Shivani"); $robin->getName(); ?>Di kelas sederhana ini di atas. Bidang $name dienkapsulasi (pribadi). Pengguna kelas tidak mengetahui bagaimana $nama disimpan di kelas Orang. Saat ini $name disimpan di memori. Kita dapat memodifikasi kode internal kelas Person untuk menyimpannya ke file datar atau membuat database. Pengguna kelas tidak perlu mengubah kode apa pun, bahkan mereka bahkan tidak tahu bagaimana $name disimpan, karena itu dienkapsulasi dan disembunyikan dari mereka
Enkapsulasi dalam PHP
Enkapsulasi adalah konsep membungkus atau mengikat anggota data dan metode terkait dalam satu modul yang dikenal sebagai enkapsulasi Dan menyembunyikan properti internal penting dari modul itu yang dikenal sebagai abstraksi dataname=$n;
$this->age=$a;
}
public function setAge($ag)
{
$this->ag=$ag;
}
public function display()
{
echo "welcome ".$this->name."
";
return $this->age-$this->ag;
}
}
$person=new person("Pankaj",25);
$person->setAge(20);
echo "You are ".$person->display()." years old";
?>
Keluaran selamat datang Pankaj Anda berusia 5 tahun
Buat kelas aritmatika dengan metode add() ,sub() ,mult() dan div()
first+$this->second;
echo "Addition = ".$res."
";
}
function sub()
{
$res=$this->first-$this->second;
echo "Subtraction = ".$res."
";
}
function mult()
{
$res=$this->first*$this->second;
echo "Multiplication = ".$res."
";
}
function div()
{
$res=$this->first/$this->second;
echo "Division = ".$res."
";
}
}
$obj= new arithmetic( );
$obj->add( );
$obj->sub( );
$obj->mult( );
$obj->div( );
?>
_
Keluaran Penjumlahan = 1500 Pengurangan = 500 Perkalian = 500000 Pembagian = 2
Dalam contoh di atas Dua properti $first dan $second bersama dengan metode add() , sub() , mult() dan div() didefinisikan dalam satu unit i. e di kelas aritmatika. Kami membuat objek aritmatika kelas. objek itu disebut metode dan metode melakukan tugasnya dengan properti yang ditentukan. metode add() melakukan penambahan dua properti $first dan $second. metode sub() melakukan pengurangan dua properti $pertama dan $kedua. metode mult() melakukan perkalian dua properti $pertama dan $kedua. metode div() melakukan pembagian dua properti $pertama dan $keduaEnkapsulasi dalam PHP adalah tema utama dalam Bahasa Pemrograman Berorientasi Objek (OOP), P. Ini mendeklarasikan ide mengikat atribut dan fungsi ke dalam Kelas tertentu. Dengan melakukan ini, Ini akan disebut sebagai Penyembunyian Informasi. Tetapi jika Anda memiliki atribut yang tidak dapat dideteksi oleh orang lain dan Anda membundelnya dengan metode yang menampilkan semua jalur ke anggota data, maka Anda dapat menyembunyikan konten dan mengontrol jalur ke objek tersebut.
Dalam kehidupan kita sehari-hari, enkapsulasi seperti folder tempat kita menyimpan dokumen, media, dll. Dalam hal ini, folder akan menjadi kelas utama dan atributnya adalah dokumen, media, dll
Contoh Enkapsulasi di PHP
<?php class Job { public $Job_name; public $Job_id; function __construct($job_names, $job_ids) { $this->Job_name = $job_names; $this->Job_id = $job_ids; } public function Job_details() { echo "Job name is: $this->Job_name Job id is: $this->Job_id"; } } $obj = new Job("Web Developer", "096847"); echo $obj->Job_details(); ?>
Keluaran
Nama pekerjaan adalah. Pengembang Web
Id pekerjaan adalah. 096847
Keuntungan Enkapsulasi di PHP
- Bidang kelas dapat dilakukan hanya-baca menggunakan penentu akses seperti privat, publik, dan dilindungi
- Ini memblokir modifikasi yang tidak disengaja dalam data
- Ini memungkinkan kita untuk mengubah kode yang dieksekusi tanpa merusak kode orang lain yang menggunakan kode dan fungsi yang sama
- Ini memberi kode Anda keamanan ekstra, fleksibilitas, dan kemudahan perawatan
Pemrograman berorientasi objek dalam PHP dijalankan dengan menggunakan ide Enkapsulasi yang digunakan untuk menyembunyikan komunikasi. Ini mengurangi aksesibilitas yang nyaman dari atribut kelas saat ini. Teknik Getter dan Setter digunakan untuk mem-bypass akses eksternal yang tidak diinginkan. Ini juga mendukung validasi nilai unik yang dialokasikan ke properti
Singkatnya, Enkapsulasi dalam PHP adalah prosedur menyembunyikan semua detail intim dari suatu objek yang benar-benar tidak berkontribusi besar pada elemen penting dari Kelas
Kesimpulan
Pada artikel ini, kami mendapatkan salah satu konsep bahasa pemrograman terbaik. Enkapsulasi adalah salah satu metode umum yang populer dan umum digunakan untuk mengatasi fungsi dan teknik yang dipanggil di banyak lokasi
Kualitas enkapsulasi adalah menyembunyikan kode kompleks dari pengguna dan menunjukkan fungsionalitas sebenarnya kepada pengguna. Jika enkapsulasi yang sesuai tidak disajikan dalam kode, itu menyebabkan desain yang buruk