Perbezaan Antara Enkapsulasi dan Abstraksi

Perbezaan Antara Enkapsulasi dan Abstraksi
Perbezaan Antara Enkapsulasi dan Abstraksi

Video: Perbezaan Antara Enkapsulasi dan Abstraksi

Video: Perbezaan Antara Enkapsulasi dan Abstraksi
Video: Bagaimana Website Berfungsi 2024, Julai
Anonim

Pengkapsulan lwn Abstraksi

Encapsulation dan Abstraksi ialah dua konsep berbeza tetapi berkaitan yang terdapat dalam bahasa OOP (Object Oriented Programming). Enkapsulasi ialah konsep menggabungkan data dan tingkah laku bersama-sama sebagai satu entiti. Sebaliknya, Abstraksi ialah proses mempersembahkan cara sesuatu entiti berkelakuan\kelihatan bertentangan dengan cara ia dilaksanakan.

Apakah itu Enkapsulasi?

Encapsulation ialah proses membalut data dan operasi yang beroperasi padanya ke dalam satu entiti. Ini pada asasnya bermakna untuk mengakses data, kaedah pratakrif tertentu harus digunakan. Dalam erti kata lain, data yang dikapsulkan tidak boleh diakses secara langsung. Ini memastikan bahawa integriti data terpelihara kerana pengguna tidak dapat mengakses dan mengubah suai data secara langsung mengikut kehendaknya. Pengguna akan mendapatkan 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 untuk dimasukkan ke dalam medan. Oleh itu, faedah Enkapsulasi adalah tiga kali ganda. Melalui Enkapsulasi, pengaturcara boleh membuat medan kelas baca sahaja atau tulis sahaja. Kedua, kelas boleh mempunyai kawalan penuh ke atas apa yang disimpan dalam medannya. Akhirnya, pengguna kelas tidak perlu bimbang bagaimana datanya disimpan. Di Java, pengaturcara boleh mengisytiharkan semua pembolehubah contoh sebagai peribadi dan menyediakan kaedah get dan set (yang umum) untuk mengakses dan mengubah suai medan peribadi.

Apakah itu Abstraksi?

Abstraksi ialah proses mengasingkan butiran pembentangan daripada butiran pelaksanaan. Ini dilakukan supaya pembangun terlepas daripada butiran pelaksanaan yang lebih kompleks. Sebaliknya, pengaturcara boleh menumpukan pada persembahan atau butiran tingkah laku entiti. Secara ringkas, abstraksi memfokuskan pada cara sesuatu entiti boleh digunakan dan bukannya cara ia dilaksanakan. Abstraksi pada dasarnya menyembunyikan butiran pelaksanaan, supaya walaupun metodologi pelaksanaan berubah dari semasa ke semasa, pengaturcara tidak perlu risau bagaimana ia akan mempengaruhi programnya. Sesuatu sistem boleh diabstraksikan dalam beberapa lapisan atau peringkat. Sebagai contoh, lapisan abstraksi peringkat rendah akan mendedahkan butiran perkakasan, manakala abstraksi peringkat tinggi hanya akan mendedahkan logik perniagaan entiti. Istilah abstraksi boleh digunakan untuk merujuk kepada entiti dan proses dan ini membawa kepada beberapa kekeliruan. Sebagai proses, abstraksi bermaksud mengekstrak butiran penting sambil mengabaikan butiran tidak penting bagi item atau sekumpulan item, manakala sebagai entiti, abstraksi bermaksud model atau pandangan entiti dengan hanya butiran penting. Di Java, pengaturcara boleh menggunakan abstrak kata kunci untuk mengisytiharkan kelas sebagai entiti abstrak, yang mewakili ciri penentuan penting entiti dunia sebenar.

Apakah perbezaan antara Enkapsulasi dan Abstraksi?

Walaupun Enkapsulasi dan Abstraksi adalah konsep yang sangat berkaitan yang terdapat dalam bahasa Pengaturcaraan Berorientasikan Objek, ia mempunyai perbezaan utama. Abstraksi ialah satu teknik, yang membantu kita mengenal pasti apa yang patut dilihat dan apa yang patut disembunyikan. Enkapsulasi ialah teknik untuk membungkus maklumat supaya dapat dilihat apa yang sepatutnya kelihatan dan menyembunyikan apa yang sepatutnya disembunyikan. Dalam erti kata lain, Enkapsulasi boleh dikenal pasti sebagai satu langkah melangkaui abstraksi. Walaupun pengabstrakan mengurangkan objek dunia sebenar kepada ciri penentu pentingnya, enkapsulasi memanjangkan idea ini dengan memodelkan dan memautkan kefungsian entiti tersebut.

Disyorkan: