تا کنون واژهء کپسوله کردن به گوشتان خورده است؟چه میزان با آن آشنایی دارید؟

قرار دادن داده و توابعی که روی داده کار می کنند را در یک بسته کپسوله کردن می گویند. در برنامه نویسی رویه گرا معلوم نیست چه تابعی روی چه متغیری کار می کند. در برنامه های پیچیده تر این روابط تیره تر می شوند. در برنامه نویسی شیءگرائی داده و توابع مربوط به آن- که اغلب متد (method) نامیده می شوند- با در یک بسته به نام کلاس قرار می گیرند بنابراین کاملا مشخص است چه تابعی روی چه داده ای کار می کند.

کپسول کردن امکان پنهان کردن اطلاعات را نیز فراهم می کند. هر عضو کلاس را می توان به صورت عمومی، خصوصی یا محافظت شده مشخص کرد. شی ایجاد شده از کلاس به داده از طریق یک سری توابع عمومی دسترسی دارد و اجازه دسترسی مستقیم به اعضای خصوصی کلاس و خراب کردن آنها داده نمی شود. به این صورت جزئیات پیاده سازی هم مخفی می ماند و به طراح اجازه می دهد پیاده سازی را اساسی بدون تغییر در واسطه ها عوض کند.