سطح دسترسی Access Modifiers

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

1-private  : دسترسی اختصاصی میباشد. در این حالت عضو مورد نظر از بیرون کلاس قابل مشاهده و دسترسی نخواهد بود و فقط در داخل کلاسی که تعریف میشود قابل دسترسی خواهد بود.

2-public  : دسترسی عام میباشد. عضوی که از نوع public است از بیرون کلاسی که در آن تعریف شده است ، توسط دیگر کلاسها کاملا قابل دسترسی و ویرایش خواهد بود.

3-internal  : تنها در داخل فایل یا اسمبلی فعلی قابل استفاده خواهند بود

4-protected  : تنها در کلاسی که تعریف در آن تعریف شده و کلاسهایی که از آن کلاس مشتق میشوند قابل دسترسی خواهد بود.

در شکل زیر بصورت گرافیکی نحوه سطح دسترسی عناصر را نمایش می دهیم  

 

 

                           

 به شکل اول تصویرنگاه کنید همانطور که می بینید دایره سبز رنگ نشان دهنده سطح دسترسی متغیر public  است. می بینیم که این سطح دسترسی هم در خارج از کلاس و هم د ر خارج از پروژه ما قابل دسترسی است .

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

دایره آبی رنگ نشان دهنده سطح دسترسی internal  است . یعنی کلاس یا متغیری از این نوع فقط در سطح همان پروژه قابل دسترسی است و اگر ما فرضا پروژه 2 را ایجاد کنیم و بخواهیم از کلاس با سطح دسترسی internal  در پروژه 2 استفاده کنیم ممکن نیست .

و سرانجام شکلهای نامنتظم قهوه ای رنگ را می بینید که نشان دهنده سطح دسترسی protected  است .

سطح دسترسی دیگری نیز وجود دارد تحت عنوان protected internal  این سطح دسترسی در همان پروژه تعریف شده قابل دسترسی است و علاوه بر آن  اگر کلاسی از پروژه دیگر از آن ارث بری کند نیز قابل دسترسی است .

در واقع برابر با internal +protected  است . از اجتماع این دو در شکل بالا می توانید آن را مشاهده کنید قهوه ای به اضافه رنگ آبی .

 

برای دانلود اصل مطلب بدلیل ضعف ویرایشگر وبلاگ علاقه مندان می توانند  بصورت فایل دانلود کنند