کپسوله سازی(Encapsulation)
کپسوله سازی(مخفی سازی یا لفافه بندی) به این مفهوم اشاره دارد که باید بعضی از خصوصیات و رفتارهای شیء از دید دیگر اشیاء پنهان بماند. مانند: کارکرد اجزا مختلف یک خودرو(عملکرد سیستم فرمان, عملکرد سیستم برقی, عملکرد سیستم ترمز و ...).
در حقیقت کپسوله سازی باعث می شود اشیاء بدون آنکه از چگونگی کارکرد یکدیگر اطلاع داشته باشند با هم کار کنند.
بنابراین کپسوله سازی تکنیکی است که می توان یک فیلد(همان Instance Variable) کلاس را خصوصی(Private) کرد و دسترسی به آن را از طریق یک متد عمومی(Public) فراهم کرد.
مثال :
دسترسی به متغیر های کلاس EncapTest به روش زیر (با استفاده از setter و getter) :
و در نهایت خروجی آن :
کپسوله سازی این مزایا را به ارمغان می آورد :
* نگهداری بالای کد ها
* انعطاف پذیری
* توسعه پذیری کد ها در آینده
* Field های کلاس(Instance Variable ها), می توانند Read-Only و یاWrite-Only باشند.
* کلاس می تواند روی داده هایی که در فیلد هایش(Instance variable ها) ذخیره می خواهد بشود کنترل داشته
باشد.
* کاربران یک کلاس به هیچ عنوان از نحوه ذخیره سازی داده ها در فیلدهای کلاس(Instance Variable ها) اطلاع
ندارند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.