Apa enkapsulasi di oops di php dengan contoh?

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 data

name=$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 $kedua

Enkapsulasi 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

  1. Bidang kelas dapat dilakukan hanya-baca menggunakan penentu akses seperti privat, publik, dan dilindungi
  2. Ini memblokir modifikasi yang tidak disengaja dalam data
  3. Ini memungkinkan kita untuk mengubah kode yang dieksekusi tanpa merusak kode orang lain yang menggunakan kode dan fungsi yang sama
  4. 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

Apa enkapsulasi dalam PHP dengan contoh?

Enkapsulasi adalah cara menyimpan objek atau data sebagai properti di dalam objek lain, sehingga objek luar memiliki kontrol penuh atas bagaimana data atau objek internal dapat diakses . Sebagai contoh kelas OuterClass { private var $innerobject;. For example class OuterClass { private var $innerobject; function increment() { return $this->innerobject->increment(); } }

Apa itu enkapsulasi dalam OOP dengan contoh?

Kontainer hanyalah salah satu contoh enkapsulasi dalam pengkodean tempat data dan metode digabungkan menjadi satu paket . Manfaat utama menyembunyikan informasi tentang atribut dan metode menggunakan enkapsulasi dalam pemrograman adalah mencegah pengembang lain menulis skrip atau API yang menggunakan kode Anda.

Apa itu enkapsulasi dan polimorfisme dalam PHP?

Polimorfisme adalah proses menggunakan operator atau fungsi dengan cara yang berbeda untuk input data yang berbeda. Enkapsulasi menyembunyikan detail implementasi kelas dari objek lain . Inheritance adalah cara membentuk class baru dengan menggunakan class yang sudah didefinisikan.

Apa keuntungan dari enkapsulasi di PHP?

Enkapsulasi membantu kita dalam mengikat data (variabel/atribut) dan fungsi anggota suatu kelas . Bidang kelas dapat dibuat hanya-baca atau hanya-tulis menggunakan penentu akses seperti publik, pribadi, dan dilindungi. Ini memberi kode Anda lebih banyak keamanan, fleksibilitas, dan mudah dipelihara.