Encapsulation vs Abstraction
Encapsulation dan Abstraction adalah dua konsep yang berbeza tetapi berkaitan yang terdapat dalam bahasa OOP (Object Oriented Programming). Encapsulation adalah konsep menggabungkan data dan tingkah laku bersama sebagai satu kesatuan. Sebaliknya, Abstraksi adalah proses menyajikan bagaimana entiti berkelakuan / berbanding dengan bagaimana ia dilaksanakan.
Apa itu Encapsulation?
Encapsulation adalah proses membungkus data dan operasi yang mengoperasikannya ke satu entiti. Ini pada dasarnya bermaksud bahawa untuk mengakses data, kaedah tertentu yang telah ditentukan harus digunakan. Dengan kata lain, data yang dikemas tidak dapat diakses secara langsung. Ini memastikan integriti data terpelihara kerana pengguna tidak dapat mengakses dan mengubah data secara langsung mengikut kehendaknya. Pengguna akan mendapatkan atau menetapkan nilai data hanya melalui kaedah yang tersedia untuk umum kepada pengguna. Kaedah ini biasanya memberikan pengesahan data sehingga hanya data dalam format yang sesuai yang dibenarkan untuk dimasukkan ke dalam bidang. Oleh itu, faedah Encapsulation adalah tiga kali ganda. Melalui Encapsulation, pengaturcara dapat membuat bidang kelas hanya baca atau tulis sahaja. Kedua,kelas boleh mempunyai kawalan sepenuhnya terhadap apa yang disimpan di ladangnya. Akhirnya, pengguna kelas tidak perlu risau bagaimana datanya disimpan. Di Java, pengaturcara dapat menyatakan semua pemboleh ubah instance menjadi pribadi dan menyediakan metode get and set (yang bersifat umum) untuk mengakses dan mengubah bidang pribadi.
Apa itu Abstraksi?
Abstraksi adalah proses memisahkan perincian persembahan dari perincian pelaksanaan. Ini dilakukan agar pembangun berasa lega dengan perincian pelaksanaan yang lebih kompleks. Sebaliknya, pengaturcara boleh memberi tumpuan kepada persembahan atau perilaku entiti. Secara ringkas, abstraksi memfokuskan pada bagaimana entiti tertentu dapat digunakan dan bukannya bagaimana ia dilaksanakan. Abstraksi pada dasarnya menyembunyikan perincian pelaksanaan, sehingga walaupun metodologi pelaksanaannya berubah dari masa ke masa, pengaturcara tidak perlu risau bagaimana hal itu akan mempengaruhi programnya. Sistem boleh diabstrak dalam beberapa lapisan atau tahap. Sebagai contoh, lapisan abstraksi tahap rendah akan mendedahkan perincian perkakasan, sementara abstraksi tahap tinggi hanya akan mendedahkan logik perniagaan entiti tersebut. Istilah abstraksi boleh digunakan untuk merujuk kepada entiti dan proses dan ini menimbulkan kekeliruan. Sebagai proses, abstraksi bermaksud mengekstrak butiran penting sambil mengabaikan butiran yang tidak penting dari suatu item atau sekumpulan item, sementara sebagai entiti, abstraksi bermaksud model atau pandangan entiti dengan hanya butiran penting. Di Jawa, pengaturcara dapat menggunakan kata kunci abstrak untuk menyatakan kelas sebagai entiti abstrak, yang mewakili ciri penentu penting dari entiti dunia nyata.pengaturcara boleh menggunakan kata kunci abstrak untuk menyatakan kelas sebagai entiti abstrak, yang mewakili ciri-ciri penentu penting dari entiti dunia nyata.pengaturcara boleh menggunakan kata kunci abstrak untuk menyatakan kelas sebagai entiti abstrak, yang mewakili ciri-ciri penentu penting dari entiti dunia nyata.
Apakah perbezaan antara Encapsulation dan Abstraction?
Walaupun Encapsulation dan Abstraction adalah konsep yang sangat berkaitan yang terdapat dalam bahasa Pengaturcaraan Berorientasikan Objek, mereka mempunyai perbezaan utama. Abstraksi adalah teknik, yang membantu kita mengenal pasti apa yang harus dilihat dan apa yang harus disembunyikan. Enkapsulasi adalah teknik untuk mengemas maklumat sedemikian rupa sehingga dapat menjadikan apa yang harus dilihat dan menyembunyikan apa yang harus disembunyikan. Dengan kata lain, Encapsulation dapat dikenal pasti sebagai satu langkah di luar pengabstrakan. Walaupun pengabstrakan mengurangkan objek dunia nyata dengan ciri penentu yang mustahak, enkapsulasi memperluas idea ini dengan memodelkan dan menghubungkan fungsi entiti tersebut.