پرش به محتوای اصلی
مسیر تخصصی جاوا و Spring
درخواست پروژهارتباط با ماراهنما
جاواپرویاد بگیر، تمرین کن، حرفه‌ای بساز
خانهدوره‌هاآموزش رایگانوبلاگمدرس‌هاخدمات
خانه♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)
آموزش برنامه نویسی »

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

در این آموزش با انواع کنترل سطح دسترسی در جاوا آشنا می شویم

۱۰ دقیقه مطالعهآموزش برنامه نویسی »آموزش جاوا و انجام پروژه های برنامه نویسی
♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)
محتوای منتخب جاواپرو

خلاصه مطلب

در این آموزش با انواع کنترل سطح دسترسی در جاوا آشنا می شویم
نوع محتوامقاله آموزشی
موضوعآموزش برنامه نویسی »
زمان مطالعه۱۰ دقیقه
آخرین ویرایش۳۰ اردیبهشت ۱۴۰۴

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

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

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

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

جلسه اول | راهنمای دانلود و نصب 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 در جاوا

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

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

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

اما اگر تمایل نداشته باشیم که هر کسی از آن استفاده کند آن را در مکانی می گذاریم که دسرسی ان برای عموم مردم محدود باشد!!! مثال دومی که می توان برای کنترل سطح دسرسی زد همان چت کردن در شبکه های اجتماعی می باشد!! مثلا شما در واتس اپ می توانید در یک گروه عمومی با سایر دوستان خود چت کنید و همه اعضای گروه از پیام شما با خبر می شوند اما اگر خواستید بصورت کنترل شده و خصوصی چت کنید به pv یا private هم دیگر می روید و هرکسی هم نمی تواند به pv شما دسرسی داشته باشد!

همه این مثال ها را گفتم که کنترل سطح دسرسی را برای شما ملموس تر کرده باشم.حالا برویم سراغ اصل مطلب در جاوا برای کنترل سطح دسرسی از واژه ای تحت عنوان اصلاح کننده های سطح دسرسی (Access level modifiers) استفاده میکنیم.خب این یعنی چه؟! مثلا برای کنترل سطح دسرسی به تلفن خود و محدود کردن دسرسی به ان،تلفن را از یک مکان عمومی به یک مکان خصوصی می بریم که در دسرس مردم نباشد یعنی دسرسی به تلفن خود را از حالت عمومی به خصوصی تغییر یا اصلاح کردیم به این حالت عمومی (public) یا خصوصی (private) اصلاح کننده (modifiers) سطح دسرسی می گویند.

اصلاح کننده های (تغییر دهنده ها یا modifiers) سطح دسرسی در جاوا تعیین می کنند که سایر کلاس ها تا چه اندازه می توانند از ویژگی ها و رفتار های کلاس فعلی شما استفاده کنند.

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

اصلاح کننده سطح دسرسی عمومی – کلمه کلیدی public

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

💡 public از ساده ترین اصلاح کننده های سطح دسرسی در جاوا می باشد زیرا همان طور که از اسمش معلومه ماهیتی مشخص دارد ،دسرسی ان چیزی شبیه تلفن عمومی است یعنی همه کلاس های دیگر می توانند به متغیرها و متدهایی که از نوع public تعیین کردیم دسرسی داشته باشند.

💡 پس وقتی یک متغیر یا متد از نوع public در کلاس خود تعریف میکنیم برای سایر کلاس ها این ویژگی ها و متدها قابل دسرسی می باشد.

💡 در کل یک کلاس ، متغیر ، متد ، اینترفیس (درآینده بررسیش میکنیم) ، سازنده و... وقتی public اعلام می شود،توسط سایر کلاس ها قابل دسرس هستند.

💡 این کلمه کلیدی زمانی مفید است که متغیر ها و متدهای یک کلاس در یک اپلیکیشن باید قابل دسرس برای کل کلاس های برنامه ما باشد.

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

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

مثال: در زیر دو کلاس به نام های MathExample و MainTest در یک پکیج با نام javalike داریم:

package javalike;public class MathExample { public int area; public void calculate_Area_Rectangle( int length, int width) { area = length * width; }
package javalike;public class MainTest { public static void main(String[] args) { MathExample math=new MathExample(); math.calculate_Area_Rectangle(10, 100); System.out.println("Area="+math.area); }}

✔ کلاس MathExample یک ویژگی به نام area از نوع public و یک متد که مساحت مستطیل را حساب میکند و از نوع public تعریف شده است، دارد. ما قصد داریم در کلاس MainTest یک شی از کلاس MathExample بسازیم و از طریق ان به متدها و متغیر های کلاس MathExample دسرسی داشته باشیم.این یعنی قصد داریم در یک کلاس از ویژگیها و رفتار های کلاس دیگری استفاده کنیم.از ان جهت که متغیرها و متدهای کلاس MathExample از نوع public هست پس سطح دسرسی عمومی است و به راحتی می توان به ویژگی ها و متد آن در کلاس دیگر نظیر MainTest استفاده کنیم.

✔ در کلاس MainTest یک شی از کلاس MathExample به نام math ایجاد کرده ایم.

✔ حال از طریق شی math به ویژگی ها و رفتار های کلاس MathExample درسی پیدا میکنیم.البته درصورتی می توانیم در یک کلاس از ویژگی ها و رفتارهای کلاسی دیگر استفاده کنیم که این ویژگی ها و رفتار ها از نوع public باشند.

✔ در تصویر(1) سطح دسرسی شی math که از نوع کلاس MathExample می باشد ، در کلاس MainTest مشاهده می کنید.به راحتی این شی می تواند بدون هیچ مانعی به ویژگی ها و رفتار های کلاس MathExample که از نوع public می باشد دسرسی داشته باشد:

modifier در جاوا
modifier در جاوا

✔ همان طور که از متد calculate_Area_Rectangle مشخص هست که متد دو پرامتر از نوع int از ورودی میگیرد و مساحت مستطیل را محاسبه و درون متغیر نمونه area میریزد و در پایان در خروجی این متغیر نمونه را چاپ میکنیم.

✔ حالت قرار گیری دو کلاس در یک پکیج و خروجی آن را در زیر مشاهده می کنید:تصویر(2)

💡 شرط لازم استفاده یک کلاس از ویژگی ها و رفتارهای کلاس دیگر هم پکیج بودن دو کلاس می باشد،یعنی هر دو کلاس در یک پکیج باشد،مثلا دو کلاس بالا هر دو در یک پکیج به نام javalike بودند،حالا شرط بعدی (کافی) بستگی به کنترل سطح دسرسی که برای متغیرها و متدهای خود مشخص کردیم دارد.

💡 اگر دو کلاس هم پکیج نبودند و قصد داشتیم از ویژگی ها و رفتار های کلاس دیگر استفاده کنیم کافیست کلاس مورد نظر درون پکیج مربوطه را import کنیم:

مثال:فرض کنید کلاس A درون پکیج javalike و کلاس B درون پکیج tutorial باشد،قصد داریم در کلاس B یک شی از کلاس A ایجاد کنیم،اما چون کلاس A و B درون پکیج های متفاوتی هستند نمی توان از کلاس A درون کلاس B شی ساخت!تنها راهش این هست که پکیج کلاس A یعنی javalike را درون کلاس B صدا بزنیم( import )کنیم:

Package javalike; public class A { public int a=5;}
package tutorial;import javalike.A;public class B { public static void main(String[] args) { A objectA=new A(); } }

ادامه اموزش را در پایین دنبال می کنیم..........

امپورت کردن یک کلاس در کلاس دیگر در جاوا
امپورت کردن یک کلاس در کلاس دیگر در جاوا

خروجی مثال بالا: خروجی مثال دو کلاس MathExample و MainTest بصورت زیر است:

Area=1000

✔ با توجه به این که متد main در کلاس MainTest بود و یک شی از کلاس MathExample درون کلاس MainTest ایجاد کرده بودیم کافیست کلاس MainTest را اجرا کنیم و بصورت خودکار هر دو کلاس اجرا می شود.

✔ اصلاح کننده سطح دسرسی public کمترین حافظت را از ویژگی ها و رفتار های ما میکند.تنها زمانی از این اصلاح کننده استفاده کنید که کاملا اطمینان داشته باشید که نیاز هست هرچیز و همه چیز به متغیر ها و متدهای ما دسرسی داشته باشند.

✔ در این مثال با روش دسرسی به ویژگی ها و رفتارهایی که از نوع public هستند در کلاس دیگر یاد گرفتیم.حالا سراغ اصلاح کننده(modifiers) دیگر در جاوا می رویم.

✔ اصلاح کننده سطح دسرسی پیشفرض(Default) – بدون کلمه کلمه کلیدی

✔ اصلاح کننده (modifiers) سطح دسرسی پیشفرض (Default) به معنای این هست که ما صریحا برای کلاس ها ، متدها ، متغیرها و.... اصلاح کننده دسرسی در نظر نمی گیرید یا درکل هیچ کلمه کلیدی برای کلاس ها،متغیرها و...تعریف نمی کنیم.

وقتی متغیرها یا متدهای یک کلاس اصلاح کننده پیشفرض درنظر گرفته می شود برای سایر کلاس ها قابل دسرس هستند.

package javalike;public class A { int a=5; int b=123; String str=" Salam";}

✔ Modifier یا اصلاح کننده سطح دسرسی برای متغیرهای این کلاس از نوع پیشفرض هستند چون هیچ کلمه کلیدی برای متغیرها تعریف نشده است. اصلاح کننده (Modifier) سطح دسرسی خصوصی – کلمه کلیدی private

✔ وقتی متدها ، متغیرها ، سازنده ها و... با کلمه کلیدی private اعلام می شوند،تنها درون بدنه کلاس خودشان قابل دسرس هستند.

✔ با private کردن ویژگیها و رفتار های کلاس خود آن را از دسرس هر نامحرمی بدور نگه میدارید 😊

✔ Modifier یا اصلاح کننده (تغییر دهنده) سطح دسرسی private ، سطح دسرسی را بسیار محدود می کند.

✔ کلاس ها (class) و اینترفیس ها (interface) هرگز نمی توانند از نوع private باشند.

✔ در مورد اینترفیس در جلسات آینده که مربوط به مباحث شی گرایی می باشد خواهیم پرداخت.

✔ متغیرهایی که private تعریف می شوند تعریف می شوند تنها داخل بدنه کلاس قابل دسرس هستند و در کلاس های دیگر بصورت مستقیم قابل دسرس نیستند.

✔ برای دسرسی یک کلاس به متغیر های private درون کلاس دیگر از متدهای public ،getter استفاده می کنیم. • متدهای getter چی هستند؟!!!! جلوتر بهش می پردازیم! 😊

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

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

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

♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)
تصویر مرتبط با ♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)
♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)
تصویر مرتبط با ♨️ جلسه شانزدهم - کنترل سطح دسترسی (Modifiers)

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

برچسب‌هاآموزش برنامه نویسی »آموزش زبان جاوا »آموزش جاوا »کنترل سطح دسرسی در جاواModifiers in javaModifiers در جاواModifier در جاواکلمه کلیدی public در جاواکلمه کلیدی private در جاوااصلاح کننده ها در جاواpublic اعلام کردن متغیر در جاواprivate اعلام کردن متغیرها در جاواکاربرد کلمه public در جاواآموزش زبان برنامه نویسی جاواآموزش جاوا
دسترسی سریع

فهرست مطلب

۱فهرست جلسات دوره مقدماتی جاوا۲مقدمه اول | جاوا چیست؟۳مقدمه دوم | تاریخچه جاوا۴مقدمه سوم | ویژگی‌های زبان جاوا۵جلسه اول | راهنمای دانلود و نصب 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 در جاوا
ادامه مسیر

پیشنهاد جاواپرو

موضوع را با آموزش‌های مرتبط ادامه دهید و نکته‌های کاربردی را در مسیر خود نگه دارید

مشاهده دوره‌ها
مطالب پیشنهادی

ادامه مطالعه

xدسته‌بندی نشده
۱۱ دی ۱۳۹۸ مطالعه کوتاه

x

پادکست شماره 3 – راه های کسب درآمد از برنامه نویسی

مطالعه مطلب
پادکست شماره 3 - راه های کسب درآمد از برنامه نویسیپادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 3 - راه های کسب درآمد از برنامه نویسی

در این پادکست برنامه نویسی به شیوه ها و راه های کسب درآمد از برنامه نویسی پرداخته ایم. یک کاغذ و قلم بردارید و به پادکست گوش بدید.

مطالعه مطلب
پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟پادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟

در این پادکست برنامه نویسی یاد میگیریم که چگونه وارد فضای برنامه نویسی شویم و تخصص برنامه نویسی را به دست آوریم.

مطالعه مطلب
جاواپرومرجع تخصصی یادگیری و توسعهٔ جاوا

تجربه‌ای منظم، ساده و حرفه‌ای برای یادگیری عمیق جاوا، Spring و مهندسی نرم‌افزار؛ قابل استفاده در موبایل، تبلت و دسکتاپ

یادگیری

همه دوره‌هاآموزش رایگانمسیر یادگیریمدرس‌ها

جاواپرو

درباره ماخدمات تخصصیدرخواست پروژهبلاگ فنی

پشتیبانی

تماس با ماپرسش‌های متداولقوانین و حریم خصوصیثبت تیکت
خرید امنپرداخت فقط در درگاه رسمیپشتیبانی آموزشیمسیر ارتباط شفاف و پیگیری‌پذیردسترسی پایداروب‌اپ واکنش‌گرا روی همه دستگاه‌ها
© ۱۴۰۵ جاواپرو؛ همه حقوق محفوظ استتوسعه توسط پایاپینگ
خانهدوره‌هاسبد