کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Java – کپسوله سازی/Encapsulation در Java

آموزش Java – کپسوله سازی/Encapsulation در Java

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

آموزش Java

در جاوا می توان با تعریف تمامی اعضای آن کلاس به صورت private، یک کلاس کاملا کپسوله سازی شده ساخت.

اعضای یک کلاس کپسوله سازی شده با استفاده از متدهای (بازگرداننده ی مقدار) getter و (متد تنظیم کننده ی مقدار متغیر private) setter به راحتی قابل دسترسی هستند. کلاس Java Bean نمونه ای از کلاس کاملا کپسوله سازی شده در جاوا است.

مزیت استفاده از کپسوله سازی در Java

با استفاده از یکی از دو متدهای getter یا setter، می توان کلاس را به ترتیب فقط read-only یا write-only تعریف کرد. بدین وسیله شما می توانید بر روی داده های کلاس کنترل بیشتری داشته باشید. فرض بگیرید می خواهید مقدار متغیر id حتما بیشتر از 100 تنظیم شود. برای این منظور منطق مربوطه را داخل بدنه ی متد setter که تنظیم کننده ی مقدار متغیر private مورد نظر است، پیاده سازی می کنیم.

مثال ساده ای از کپسوله سازی در Java

در زیر مثال ساده ای از پیاده سازی مفهوم کپسوله سازی در جاوا را مشاهده می کنید که تنها یک فیلد private با متدهای setter و getter مربوطه را شامل می شود.

//save as Student.java  
package com.javatpoint;  
public class Student{  
private String name;  
public String getName(){  
return name;  
}  
public void setName(String name){  
this.name=name  
}  
}  
//save as Test.java  
package com.javatpoint;  
class Test{  
public static void main(String[] args){  
Student s=new Student();  
s.setName("vijay");  
System.out.println(s.getName());  
}  
} 

جهت کامپایل:

  javac -d . Test.java

جهت اجرا:

 java com.javatpoint.Test

خروجی:

vijay
1396/07/10 7128 2713
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...