menusearch
javapro.ir
جستجو
۱۳۹۵/۱۱/۲ شنبه
(3)
(0)
♨️ جلسه بیست و ششم - Encapsulation(کپسوله سازی)
♨️ جلسه بیست و ششم - Encapsulation(کپسوله سازی)

اگه میخوای موارد زیر از جاوا رو بدونی  جلسه بیست و ششم رو دانلود کن


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


شروع با مثال از دنیای واقعی برای درک بهتر مفهوم


نحوه Encapsulation (کپسوله سازی) یک کلاس در جاوا


متد setter


متد getter


روش ایجاد متد getter برای یک متغیر بصورت کلی


کاربرد متد getterو setterدر Encapsulation (کپسوله سازی)


گام به گام با مفهوم Encapsulation (کپسوله سازی)


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


راهنمای تصویری ایجاد متد getter و setter برای متغیرهای کلاس


تمامی مفاهیم با مثال از دنیای واقعی و مثال ساده کد جاوا توضیح داده شده است


Encapsulation  (کپسوله سازی) یکی از چهار مفهوم اساسی برنامه نویسی شی گرایی است.سه مفهوم دیگر شامل وراثت،چندریختی و انتزاعمی شود.


Encapsulation (کپسوله سازی) در جاوا فرآیند بسته بندی متغیر ها و متدها می باشد.


در Encapsulation (کپسوله سازی) متغیرهای نمونه یک کلاس از دید کلاس های دیگر پنهان می مانند.و این متغیرها تنها از طریق متدهای کلاس مون قابل دسرس هستند.بنابراین این متغیرها به متغیرهای مخفی شناخته شده هستند.


خب توضیحات خشک و خالی مون تمام شد مثلا میخواستیم بصورت رسمی ی توضیحاتی در مورد این مفهوم داده باشیم 😊


جناب Encapsulation (کپسوله سازی) کارش اینه که اطلاعات یک کلاس یعنی متغیرها و متدهای یک کلاس را طوری بسته بندی و باندپیچی میکنه و گره کوری می زنه بهش 😊 که هیچ کلاس دیگه نتونه اطلاعات کلاس مون رو دید بزنه 😊


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


مثال از دنیای واقعی:

 

آموزش encapsulation در جاوا

 

متداول ترین مثالی که همه در آموزش Encapsulation (کپسوله سازی) در جاوا میزنند مثال داروی کپسول در پزشکی هست.


کپسول های دارویی همه ما با آن آشنا هستیم و حداقل یکبار هم که شده آنها را مصرف کرده ایم!


این کپسول هایی که ما برای درمان بیماری نظیر سرماخوردگی و... مصرف میکنیم ، ترکیب تعدادی داروی دیگر در یک بسته واحد به نام کپسول می باشد. مثال تصویر (1)

 

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

همان طور که در تصویر(1) مشخص هست تعدادی داروی کوچک و ریز در یک بسته واحد به نام کپسول بسته بندی شده است.


این بسته بندی کپسولی مزیت هایی نظیر سهولت استفاده یعنی بجای مصرف تک به تک دانه های ریز دارو مستقیم یک دانه کپسول را می توانیم مصرف کنیم بدون این که محتوای کپسول را ببینیم. از دیگر مزیت های بسته بندی کپسولی امنیت ان هست شما مستقیم به محتوای درون کپسول دسرسی ندارید و فقط یک کپسول واحد را می بینید و مصرف میکنید اگر شما مستقیم به محتوای ریز درون کپسول دسرسی پیدا کنید و آن همه محتوای ریز را دست بگیرید و تک تک مصرف کنید امکان افتادن دانه ها روی زمین یا آلودگی دانه های دارو وجود دارد پس بهتر است همون یک دانه واحد کپسول را با یک آب بزنیم به رگ 😊

 

متد get و set در جاوا

 

Encapsulation (کپسوله سازی) در جاوا نیز همین مفهوم بالا را دنبال میکند یعنی شما متغیرها و متدهای کلاس خودتون را در یک بسته واحد کپسوله و بسته بندی میکنید.تصویر(2)

 

Encapsulation in java

تصویر(2) شکل کپسوله سازی متغیرها و متدها ها را در یک کلاس مشاهده میکنید.متغیرها و متدها به دانه های ریز درون کپسول و کلاس به عنوان یک کپسول واحد تشبیه شده است. با این کار دیگر مستقیم نمی توانیم به متغیرها و متدهای کلاسمون در کلاسی دیگر دسرسی داشته باشیم.
پس تا اینجا مفهوم Encapsulation (کپسوله سازی) را یادگرفتیم حالا سراغ نکات پیاده سازی این مفهوم در جاوا میریم.


نحوه Encapsulation (کپسوله سازی) یک کلاس در جاوا:
•    همه متغیرهای نمونه کلاس را از نوع private تعریف می کنیم.


•    خب وقتی متغیرها را در کلاسمون از نوع private تعریف کردیم دیگه فرآیند بسته بندی انجام شده و کلاس های دیگر بصورت مستقیم نمی توانند به متغیرهای کلاسمون دسرسی پیدا کنند،خب حالا چطور کلاس های دیگه می توانند به متغیرهای کلاس ما دسرسی داشته باشند؟!!!


پاسخ: از طریق متدهای public (عمومی) setter ( ست کننده ،مقدار دهی کننده) و getter (گیرنده،مقدار دهنده) می توان به متغیرها دسرسی پیدا کرد و مقدار آن ها را تغییر داد و مقدار های متغیرها را مشاهده کرد.خب ما تاحالا به متدهای setter و getter برخورد نداشته ایم حالا میخوایم این دو متد را بررسی کنیم:


متد setter :
همان طور که از اسم این نوع متدها مشخص هست برای مقداردهی ، ست کردن و نسبت دادن مقداری به یک متغیر استفاده می شود.
ما در گذشته برای مقداردهی کردن متغیری خاص نام ان را صدا میزدیم  و مستقیم به آن مقداری را نسبت می دادیم.حالا برای مقداردهی کردن متغیری بصورت غیر مستقیم از متدهای setter استفاده می کنیم.

 

 ...ادامه این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
داود
دوشنبه سیزدهم فروردین ۹۷
پاسخ
()
()
داود
سلام. خواستم يک خدا قوتي به شما عرض کنم. آموزش ها کامل و بسيار مفيد هستند. من الان حدودا يک سالي هست که دارم با برنامه نويسي اندرويد تمرين مي کنم و خيلي از کد ها برام گنگ و نامفهوم بود و با اين آموزش هاي شما واقعا خيلي از اين مشکلاتم داره برام حل ميشه .
شرکت سازنده