PDA

View Full Version : سوال: کلاس های تودرتو در C#.NET



ghayegh
یک شنبه 21 مهر 1387, 12:08 عصر
با سلام
اینکه کلاسی از کلاس دیگر مشتق می شود ، مفهومش واضح است ( وراثت ) . اما من متوجه نمی شوم اینکه در C# ، کلاسی داخل کلاس دیگر تعریف می شود ، به چه معناست و چه کاربردی دارد

Bahar_HS
یک شنبه 21 مهر 1387, 13:46 عصر
من هم همین سوال رو دارم،
چطور میشه یک کلاس رو داخل کلاس دیگه ای تعریف کرد؟

SabaSabouhi
یک شنبه 21 مهر 1387, 13:53 عصر
با سلام
چیز پیچیده‌ای نیست، چه چیزی رو متوجه نمی‌شی؟
توجه کن به این که اعضای یک کلاس چه چیزهایی هستن. اگه تو یه کلاس عضوی از جنس Integer داری و یا String به همون شکل هم می‌تونی یه عضو از جنس یک کلاس داشته باشی.
حالا شاید این کلاسی که قراره یک یا چند عضو از اون جنس تعیین بشه می‌تونه یکی از کلاس‌های DotNet باشه و یا این که می‌تونه از کلاس‌های خودت باشه.
حالا تصور کن که این کلاس داخلی فقط توی این کلاس مورد استفاده داره، پس داخل همین کلاس تعریفش می‌کنی و این می‌شه همون کلاس تو در تو که گفتی. به همین راحتی

صبا صبوحی

ghayegh
یک شنبه 21 مهر 1387, 16:44 عصر
من منظورم برنامه نویسی کلاس های تودرتو نبود . خوب اینکه بله خیلی ساده است . من کاربردش را متوجه نمی شوم . یعنی اینکه اگر لطف کنید و یک مثال مفهومی بزنید ممنون می شوم .
مثلا ممکن است یکی بگوید که کلاس اصلی می تواند کلاس کتاب باشد و کلاس داخلی کلاس صفحه ی کتاب . منظورم در حقیقت همین جواب یک خطی بود که مثال زدم.

Mehdi Asgari
یک شنبه 21 مهر 1387, 17:03 عصر
یه کاربردش میتونه این باشه:
شما کلاسی دارید به نام X که فقط در متدهای کلاس Y از اون استفاده خواهید کرد. خب اینجا چه لزومی داره بقیه هم ببینن این کلاس رو ؟
پس به صورت private اون رو داخل Y تعریف می کنید و بعد در متدهای Y ، از اون نمونه ساخته و استفاده می کنید
(در ضمن در این حالت ، اگر در کلاس X ، بخواید از کلاس Y استفاده کنید ، به اجزای private اون نیز دسترسی خواهید داشت. (چیزی که در حالت عادی غیرممکنه)