Perbezaan Antara Encapsulation and Abstraction

Anonim

Encapsulation vs Abstraction

Encapsulation and Abstraction adalah dua konsep yang berbeza tetapi berkaitan dengan OOP (Language Oriented Programming). 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 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, pengaturcara 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 mengubah suai medan persendirian.

Apakah Abstraksi?

Abstraksi adalah proses pemisahan butiran pembentangan dari butiran pelaksanaan. Ini dilakukan supaya pemaju dibebaskan dari butiran pelaksanaan yang lebih kompleks. Sebaliknya, pengaturcara boleh memberi tumpuan kepada pembentangan atau butiran perilaku entiti. Secara ringkas, abstraksi memberi tumpuan kepada bagaimana entiti tertentu boleh digunakan dan bukannya bagaimana ia dilaksanakan. Abstraksi pada dasarnya menyembunyikan butir-butir pelaksanaan, sehingga walaupun metodologi pelaksanaan berubah seiring waktu, programmer tidak perlu risau bagaimana ia akan mempengaruhi programnya. Satu sistem boleh digali dalam beberapa lapisan atau peringkat. Sebagai contoh, lapisan abstraksi peringkat 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 hanya butir-butir penting.Di Jawa, pengaturcara boleh menggunakan abstrak kata kunci untuk mengisytiharkan sebuah kelas sebagai entiti abstrak, yang mewakili ciri penting yang menentukan ciri 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 untuk mengenal pasti apa yang harus dilihat dan apa yang harus disembunyikan. Encapsulation adalah teknik untuk membungkus maklumat sedemikian rupa 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.