Encapsulation vs Abstraction
Encapsulation and Abstraction adalah dua konsep yang berbeza tetapi berkaitan dengan OOP (Bahasa Pemrograman Berorientasikan Objek). Enkapsulasi adalah konsep menggabungkan data dan tingkah laku bersama sebagai entiti tunggal. Sebaliknya, Abstraksi adalah proses membentangkan bagaimana sebuah entiti berperilaku \ kelihatan bertentangan dengan bagaimana ia dilaksanakan.
Apa itu Encapsulation?
Encapsulation adalah proses membungkus data dan operasi yang beroperasi pada mereka ke satu entiti tunggal. Ini bermakna bahawa untuk mengakses data, beberapa kaedah yang telah ditetapkan harus digunakan. Dalam erti kata lain, data terkurung tidak boleh diakses secara langsung. Ini memastikan bahawa integriti data dipelihara kerana pengguna tidak dapat mengakses dan mengubah suai data secara langsung seperti yang dikehendakinya. Pengguna akan memperoleh atau menetapkan nilai data hanya melalui kaedah yang tersedia secara umum kepada pengguna. Kaedah ini biasanya menyediakan pengesahan data supaya hanya data dalam format yang sesuai dibenarkan dimasukkan ke dalam medan. Oleh itu, manfaat Encapsulation adalah tiga kali ganda. Melalui Encapsulation, programmer boleh membuat bidang kelas baca sahaja atau menulis sahaja. Kedua, kelas boleh mempunyai kawalan penuh ke atas apa yang disimpan dalam bidangnya. Akhirnya, pengguna kelas tidak perlu bimbang bagaimana datanya disimpan. Di Jawa, pengaturcara boleh mengisytiharkan semua pembolehubah contoh bersifat peribadi dan menyediakan kaedah mendapatkan dan tetapkan (yang umum) untuk mengakses dan mengubahsuai medan persendirian.
Apakah Abstraksi??
Pengekstrakan adalah proses memisahkan butiran pembentangan dari butiran pelaksanaan. Ini dilakukan supaya pemaju dibebaskan dari butiran pelaksanaan yang lebih kompleks. Sebaliknya, pengaturcara boleh memberi tumpuan kepada persembahan atau butiran perilaku entiti. Secara ringkas, abstraksi memberi tumpuan kepada bagaimana entiti tertentu boleh digunakan dan bukannya bagaimana ia dilaksanakan. Pengekstrakan pada dasarnya menyembunyikan butir-butir pelaksanaan, sehingga walaupun metodologi pelaksanaan berubah seiring waktu, programmer tidak perlu risau bagaimana ia akan mempengaruhi programnya. Sistem boleh digunapakai dalam beberapa lapisan atau peringkat. Sebagai contoh, lapisan abstraksi tahap rendah akan mendedahkan butiran perkakasan, sementara abstraksi peringkat tinggi hanya akan mendedahkan logik perniagaan entiti tersebut. Abstraksi istilah boleh digunakan untuk merujuk kepada entiti dan proses dan ini menyebabkan kekeliruan. Sebagai proses, abstraksi bermakna mengekstrak butir-butir penting sambil mengabaikan butir-butir yang tidak munasabah sesuatu item atau kumpulan item, sementara sebagai entiti, abstraksi bermaksud model atau pandangan entiti dengan butiran penting sahaja. Di Jawa, pengaturcara boleh menggunakan kata kunci abstrak untuk mengisytiharkan sebuah kelas sebagai entiti abstrak, yang mewakili ciri penting yang diperlukan sebagai entiti dunia sebenar.
Apakah perbezaan antara Encapsulation dan Abstraction??
Walaupun Encapsulation and Abstraction adalah konsep yang sangat berkaitan dengan bahasa pemrograman Berorientasikan Objek, mereka mempunyai perbezaan utama. Abstraksi adalah teknik, yang membantu kita mengenal pasti apa yang harus dilihat dan apa yang harus disembunyikan. Encapsulation adalah teknik untuk membungkus maklumat sedemikian sehingga ia dapat dilihat apa yang harus dilihat dan menyembunyikan apa yang harus disembunyikan. Dalam erti kata lain, Encapsulation dapat dikenal pasti sebagai satu langkah melampaui abstraksi. Walaupun abstraksi mengurangkan objek dunia sebenar kepada ciri-ciri pentingnya, enkapsulasi memanjangkan idea ini dengan memodelkan dan menghubungkan kefungsian entiti itu.