menusearch
javapro.ir

♨️ جلسه بیست و ششم - Encapsulation(کپسوله سازی)

جستجو
شنبه ۶ مرداد ۱۴۰۳ | ۸:۱:۱۴
۱۳۹۵/۱۱/۲ شنبه
(5)
(0)
♨️ جلسه بیست و ششم - Encapsulation(کپسوله سازی)
♨️ جلسه بیست و ششم - Encapsulation(کپسوله سازی)

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

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


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 شده) در لینک زیر دریافت کنید.



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

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

 

 


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

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

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

2 نظر
روزبه
چهارشنبه شانزدهم مهر ۹۹
پاسخ
(0)
()
روزبه
توضيحات عالي بود. من دارم جاوا رو به صورت اختصاصي تو يه دوره ۲ ساله تو دانشگاه ميخونم ولي ميتونم بگم که توضيحات شما حتي بهتر از استاداي تو سوئد بود. ممنون.
پاسخ مدیر سایت
درود بر شما روزبه عزیز، خوش حاااالم
پاسخ مدیر سایت
داود
دوشنبه سیزدهم فروردین ۹۷
پاسخ
()
()
داود
سلام. خواستم يک خدا قوتي به شما عرض کنم. آموزش ها کامل و بسيار مفيد هستند. من الان حدودا يک سالي هست که دارم با برنامه نويسي اندرويد تمرين مي کنم و خيلي از کد ها برام گنگ و نامفهوم بود و با اين آموزش هاي شما واقعا خيلي از اين مشکلاتم داره برام حل ميشه.
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی