کپسوله سازی (Encapsulation)
کپسوله سازی (Encapsulation) یعنی پنهان کردن داده های حساس. مثل قفل گوشی. اول متغیرها را خصوصی می کنیم. سپس با درِ کنترل شده وارد می شویم؛ همان متدهای get و set. این کار امنیت و نظم می دهد.
کپسوله سازی؛ پنهان و کنترل شده
برای کپسوله سازی، ویژگی ها را private کن. سپس با متدهای public مقدار را خوانده یا عوض کن. این متدها به ترتیب «گیرنده» و «گزیننده» هستند.
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String newName) {
this.name = newName;
}
}
دسترسی مستقیم ممنوع
متغیر private بیرون کلاس دیده نمی شود. اگر مستقیم دستکاری کنی، خطا می گیری.
public class Main {
public static void main(String[] args) {
Person myObj = new Person();
myObj.name = "John"; // خطا: دسترسی private
System.out.println(myObj.name); // خطا: دسترسی private
}
}
استفاده درست از get و set
حالا مقدار را با set تنظیم کن و با get بخوان. مثل ثبت اسم در فرم مدرسه.
public class Main {
public static void main(String[] args) {
Person myObj = new Person();
myObj.setName("John");
System.out.println(myObj.getName());
}
}
سه گام عملی
- یک ویژگی را
privateکن و خطای دسترسی ببین. - برای همان ویژگی،
getوsetبنویس. - در
mainمقدار بده و سپس چاپ کن.
نکته: اگر فقط get بدهی، ویژگی «فقط خواندنی» می شود. اگر فقط set بدهی، «فقط نوشتنی» می شود.
برای ادامه مسیر، فصل تعدیل کننده های غیردسترسی را ببین. همچنین، صفحه کپسوله سازی را نشانه گذاری کن. درباره پکیج ها هم در بسته ها بخوان.
چرا کپسوله سازی مهم است؟
- کنترل بهتر روی داده ها و متدها.
- امکان فقط خواندنی یا فقط نوشتنی.
- انعطاف بالا هنگام تغییر کد.
- افزایش امنیت داده ها.
جمع بندی سریع
privateیعنی داده مخفی است.getمی خواند؛setتغییر می دهد.thisیعنی همین شیء فعلی.- دسترسی مستقیم، خطا ایجاد می کند.