آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته در این سایت به کمک جمعی از دوستان برنامه نویس خوش ذوق می باشد.

بایگانی

کپسوله سازی ( Encapsulation )

پنجشنبه, ۶ ارديبهشت ۱۳۹۷، ۰۹:۳۵ ق.ظ

کپسوله سازی ( Encapsulation )

یک کپسول آموکسی سیلین رو در نظربگیرید ، دارای یک روکشی هست که باعث میشه اون پودر های داخلش از محیط بیرون ایزوله باشند و از طرفی هم خدا بیامرز باعث میشه تا تلخی اون پودر ها رو نفهمیم.اصلا فلسفه کپسول اینه که یک سری دیتا ها رو از دید بقیه مخفی کنه به همین دلیل data hiding هم بهش میگن . از اونجایی که این کپسول میاد یک فضای خصوصی برای خودش تعریف میکنه توی برنامه نویسی ما هم متغیر های کلاس یا همون variable هامون رو خصوصی Private تعریف میکنیم.این کپسول آموکسی سیلین رو دیدید از دوتا روکش استفاده کرده که داخل هم میره و این پودر ها داخلشون قرار میگیره . حالا برای اینکه به اون پودرها دسترسی داشته باشیم فقط لازمه که این دوتا پوشش رو از دوطرف بکشیم و بهشون دسترسی داشته باشیم. ما توی برنامه نویسی برای اینکه دسترسی داشته باشیم به variable های کپسولمون باید از getter و setter استفاده می کنیم . خوب این getter و setter بدرد این میخورن که ما بعضی از کلاس هامون رو فقط خواندنی و یا فقط نوشتنی بکنیم. که این بعدا در اندروید نویسی خیلی بدردمون میخوره .

خوب بریم یک مثال بزنیم: توی این مثال میخوام در تابع اصلی که اسمش HelloWorld هستش بیام نمونه بسازم از کلاس هایی که کپسوله سازی شدن و باset و get هم برای دسترسی به این کلاس ها کار کنم.

ابتدا کلاسی با نام AndroidTutorial درست میکنم و متغیر android رو از جنسString با مدیفایر private درست میکنم. و در نهایت setter & getter رو براش تعریف میکنم.

public class AndroidTutorial{
private String android;
public void setAndroid(String android){
this.android=android;
}
public String getAndroid(){
return android;
}
}

خوب کلاس دیگه ایی هم با نام BasicForX با روال قبل میسازم.

public class BasicForX{
private String basic;
public String getBasic(){
return basic;
}
public void setBasic(String basic){
this.basic=basic;
}
}

حالا کلاس جدید به نام HelloWorld درست می کنم که main اصلی برنامه هستش . در این کلاس دو نمونه از دو کلاس بالا میسازیم و توسط دستور set دیتایی روی آن ها ذخیره میکنیم و توسط get این دیتا ها را فراخوانی میکنیم.

public class HelloWorld{
public static void main(String []args){
BasicForX basic=new BasicForX();
AndroidTutorial android=new AndroidTutorial();
basic.setBasic("basic4x.ir");
android.setAndroid ("androidtutorial.ir");
System.out.println("visit "+basic.getBasic()+ " " + android.getAndroid());
}
}

این کپسوله سازی یا Encapsulation میتونه خیلی بهمون کمک کنه همونطور که قبلا اشاره شد می تونیم بگیم که کلاس ما Read Only باشه یا اینکه Write Only . میتونیم بگیم چه دیتایی روی متغیرش ذخیره بشه . توی مثال بالا ما در دو کلاس اول گفتیم متغیری از جنس String باشه و این می تونست از هر جنس دیگه ایی مثل int یا … باشه.


منبع : سایت اندروید توتاریال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی