می 29, 2019 Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

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

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

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

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

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

در زیر مثال ساده ای از پیاده سازی مفهوم کپسوله سازی در جاوا را مشاهده می کنید که تنها یک فیلد 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

 


برچسب ها