+1 امتیاز
قبل در برنامه نویسی توسط (760 امتیاز)
ویرایش شده قبل توسط

در C# پنج Access modifier داریم:

  • Public
  • Private
  • protected
  • Internal
  • Protected Internal

واقعا" گیج کننده اند!!
از آنها در چه شرایطی استفاده می کنیم؟

1 پاسخ

+2 امتیاز
قبل توسط (868 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

در حالت برنامه های ساده که زیاد اشنایی باشون به کارت نمیان ولی در برنامه های اینترپرایز و بزرگ یا حتی متوسط که کار گروهی و مدیریت شده میخوان یا حتی برنامه نویسی پروژهای کوچیک ولی با برنامه نویس حرفه ای ، خیلی کاربردی و حیاطین.
خب بصورت ساده میگم :
public یعنی در همه شرایطی اون کلاس قابل دسترسی هست ، یعنی مثلا اگر شما dll برنامتو بدی به یه نفر دیگه ، اون شخص میتونه براحتی اون کلاس یا متد تعریف شده رو ببینی
private یعنی اعضای اون کلاس فقط توی همون کلاس قابل دسترسی هستن و از بیرون کلاس قابل دیدن نیستن
protected مثل private هستش با این تفاوت که اجزا در تمام زیر کلاس هایی که از این کلاس مشتق شدن قابل دسترسی هستند
internal یعنی در توی همین assembly قابل مشاهده هستش
protected internal هم تلفیقی از دوتا هستش یعنی در این assembly ، یا در تام کلاس های مشتق شده از این کلاس در این اسمبلی یا اسمبلی های دیگه.
کاربردشون اینه که من یه dll مینویسم که مثلا یه عکس رو بگیره و خودش و tumbnail عکسو برگردونه، توی این dll من از چندین کلاس و متد برای انجام این کار استفاده کردم  ، هیچ نیازی نیس که برنامه نویسی که از این dll من استفاده میکنه اطلاعاتی درباره متد هایی که من استفاده کردم داشته باشه ، همه رو private تعریف میکنم یا protected ، و فقط متد save رو public میزارم که اون استفاده کن.
فرض کن من کلاس های public Image که متد های ()privae CreateTumbnail ,  public SaveImage()....
و
private Initialize
 روتوی  dll به نام Lib_CreateTumbnail دارم ، حالا اینو میدم به شما که ازش استفاده کنی ، شما توی کدتون میزنید
Lib_CreateTumbnail.
بعد تایپ . ، میبینید که فقط کلاس Image  و بعد نمونه سازی از کلاس Image ، فقط متد SaveImage() رو دارید میبینید ، چون فقط اونا public بوده!

قبل توسط (760 امتیاز)
عالی بود!
یعنی چی که داخل این اسمبلی.....
منظور از اسمبلی رو درک نمیکنم!
(اگر اینم بفرمایید، دیگه کامل کامل روشن میشم!)
قبل توسط (868 امتیاز)
+1
ببینید توی Reference پروژتون نگاه کنید ، میبینید نوشته System.Data , System.Web ...
اینا همه Dll هستن که به برنامتون اضافه میشن ، بشون اسمبلی میگیم ، وقتی میگم توی همون اسمبلی ، یعنی اینکه وقتی شما برنامتو Build میکنی ، برات یه فایل  Dll میسازه (البته اگه برنامه تک لایه باشه که یعنی از معماری چندلایه استفاده نکرده باشی ،یعنی فقط توی Solutionت یه پروژه داشته باشی) به نام پروژت ، اون میشه اسمبلی برنامت

سوالات مشابه

0 امتیاز
1 پاسخ 2.1هزار بازدید
+1 امتیاز
1 پاسخ 384 بازدید
0 امتیاز
0 پاسخ 770 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط alinaseri (0 امتیاز)
+1 امتیاز
1 پاسخ 687 بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
0 پاسخ 355 بازدید
0 امتیاز
0 پاسخ 440 بازدید
...