PDA

View Full Version : انواع (تعریف) کلاس



sasan_22
شنبه 16 دی 1391, 19:28 عصر
سلام میخواستم بدونم چند نوع کلاس داریم ؟؟
آیا Readonly جزو تعریف های کلاس هست یا نه؟؟

plus
شنبه 16 دی 1391, 20:06 عصر
به طور کلی یک نوع کلاس بیشتر نداریم منتها کلاس میتونی ویژگی های مختلفی داشته باشه. به طور خلاصه میتونی
1) public, protected, private, internal باشه که سطح دسترسی بهش مشخص میشه.
2) میتونه static, abstract, sealed باشه.از کلاس static فقط یک شی وجود داره و نمیش ازش Instance ساخت و همه متدهاش هم Static هستن.کلاس abstract باید ازش کلاسی مشتق بشه تا بشه ازش شی ساخت.از کلاس sealed هم کلا نمیشه کلاسی مشتق کرد.
3) میتونه Partial باشه.یعنی یک کلاس با یک اسم در چند فایل مختلف (یا نقاط مختلفی از یک فایل) تعریف بشه.کلاس نهایی ادغام شده این کلاس ها هست.مثلا رویداد های مربوط به یک بخش از کار کلاس در یک فایل و یک بخش دیگه در یک فایل دیگه نوشته میشه.
4) یک کلاس میتونی کلاس Template باشه.یعنی موقع ساختش یک type میگیره و بر اساس type داده شده کار میکنه.
ممکنه من چیزی جا انداخته باشم امکانات #C زیاده...برای اطلاعات بیشتر در مورد اینها میتونید در MSDN جستجو کنید.

saied_hacker
شنبه 16 دی 1391, 20:12 عصر
کلاس که کلاسه و فقط میتونه از یه کلاس دیگه به ارث ببره
class childclass : fatherClass

نوع دسترسی از خارج هم فقط
public,protected,internal,protected internal,protected internal

اطلاعات بیشتر : http://msdn.microsoft.com/en-us/library/ba0a1yw2(v=vs.71).aspx

اون readonly در واقع const هست با این تفاوت که توی const حتما باید در هنگام تعریف مقدار دهی کنی ولی در readonly می تونی توی تعریف اولیه مقدار ندی بهش و توی سازنده (Constructor) مقدار دهی کنی...

sasan_22
شنبه 16 دی 1391, 22:26 عصر
دوست عزیز این static بچه درد میخوره ؟؟ (مثل متغییر میمونه که با اضافه کردن مقدار مقدار قبلی حفظ میشه و مقدار جدید به اون اضافه میشه) ولی متد که دیگه این حرفا رو نداره و خود کلاس ؟؟
در رابطه با کلاس Sealed (از کلاس sealed هم کلا نمیشه کلاسی مشتق کرد.) این چ کاربردی می تونه داشته باشه ؟؟

plus
یک شنبه 17 دی 1391, 01:29 صبح
واقعا این ادیتور سایت اذیت میکنه 10 خط تایپ کرده بودم با زدن اشتباهی کلید escape همش پرید.اصلا حوصله دوباره تایپ کردن رو ندارم...

sasan_22
دوشنبه 18 دی 1391, 02:19 صبح
:قهقهه:اشکالی نداره یه وقته دیگه
برای منم پیش اومه یه سری

حالا میخوای لطف کنی بگی در رابطه با internal هم بگو . میخوام ببینم واقعا چ تفاوتی با partial اره؟؟؟

ممنون

hamedAdmin
دوشنبه 18 دی 1391, 09:57 صبح
سلام
به نظرم یه کتاب پایه ای کامل پیدا کن درمورد #C (البته شایدم خوندید و فراموش شده) ؛ این مفاهیم معمولا تو همه کتابا هست.
البته خو msdn هم مرجع کامل و مختصریه.

دوست عزیز این static بچه درد میخوره ؟؟ (مثل متغییر میمونه که با اضافه کردن مقدار مقدار قبلی حفظ میشه و مقدار جدید به اون اضافه میشه) ولی متد که دیگه این حرفا رو نداره و خود کلاس ؟؟
در رابطه با کلاس Sealed (از کلاس sealed هم کلا نمیشه کلاسی مشتق کرد.) این چ کاربردی می تونه داشته باشه ؟؟

sasan_22
سه شنبه 17 بهمن 1391, 10:24 صبح
درود بر شما
از دوستان و اساتید اگه لطف کنن یه نمونه سورسی در رابطه با کلاس های ذکر شده بذارن ممنون می شم (کلاس های Abstract یا Sealed

با تشکر