در دنیای شی گرا، ما ستون های برنامه نویسی داریم. یکی از آنها کپسولاسیون است و سه مورد دیگر وراثت، چندشکلی و انتزاع هستند.
در اینجا مقاله ای است که توضیح می دهد، چه، چرا، و چگونه کپسولاسیون، و سه مورد دیگر هنوز یک به یک منتشر نشده اند. پس بیایید با کپسولاسیون شروع کنیم.
معرفی
با توجه به اکثر منابع، کپسوله سازی به معنای پنهان کردن اعضای داده (متغیرها و روش ها) در کلاس یا مکانیزمی برای بسته بندی/مخفی کردن یک کد و متغیرها/روش ها با هم به عنوان یک واحد است.
در این، ما با مفهوم کامل این که کپسولهسازی به چه معناست، چرایی استفاده از کپسولهسازی و چگونگی دستیابی به کپسولهسازی در دنیای برنامهنویسی، مواجه میشویم.
پنهان کردن داده ها در مقابل کپسوله سازی
وقتی کپسوله سازی اجرا می شود، فقط متغیرهای داخل کلاس می توانند به آن دسترسی داشته باشند.
بنابراین به عنوان پنهان کردن داده ها شناخته می شود. اما کپسوله سازی و پنهان کردن داده ها هر دو با یکدیگر متفاوت هستند.
پنهان کردن داده ها به معنای محافظت از اعضای یک کلاس در برابر دسترسی غیرمجاز/غیرقانونی است.
کپسولهسازی بهطور خودکار مفهوم پنهان کردن دادهها را با ایجاد امنیت برای دادهها از طریق خصوصی کردن متغیرها به دست میآورد.
از آنجایی که درک کپسوله سازی از طریق تعاریف دشوار است، از طریق چند نمونه کد به طور عمیق در مورد آن یاد خواهیم گرفت.
- package Encapsulation;
- //Use of POJO (Plain Old Java Object) class
- public class Employee {
- //Member Variables
- String name;
- int age;
- String address;
- void code() {}
- void role() {}
- void employer() {}
- }
در اینجا رفتار و ویژگی های مشترک یک کارمند در یک واحد واحد، کلاس Employee.java محصور شده است. این یک فرآیند کپسوله سازی است.
یک شیء کارمند رفتار و ویژگی های خود را در معرض دنیای بیرون قرار می دهد.
- Employee emp = new Employee();
- emp.name = "Aman";
- emp.role();
در اینجا کپسوله سازی جزئیات پیاده سازی کلاس Employee را پنهان می کند. به طور مشابه ایجاد یک رابط نیز یک فرآیند کپسوله سازی است.
- package Encapsulation;
- interface Employee {
- void code();
- void role();
- void employer();
- }
چگونه می توان به کپسولاسیون رسید؟
- کپسولهسازی در جاوا با استفاده از رابطها، کلاسها، اصلاحکنندههای دسترسی، تنظیمکنندهها و دریافتکنندهها پیادهسازی میشود.