اینترفیس های کالکشن در .NET

چهارشنبه 1 مهر 1394

در این مقاله راجع به اینترفیس هایی که Collection ها پیاده سازی میکنند، صحبت خواهیم کرد.برای کار کردن با مجموعه ها نیاز به یادگیری و فهم اینترفیس های مربوط به آنها دارید.تا در صورت لزوم بدانید برای افزودن یک قابلیت خاص نیاز به کدام واسط دارید.

اینترفیس های کالکشن در .NET

در دات نت اینترفیس هایی / واسط هایی وجود دارند که توسط Collection  ها به ارث برده می شوند.این واسط ها امکانات زیادی از جمله حذف از Collection  یا افزودن به آن ، دسترسی تصادفی به عناصر مجموعه و یا امکان پیمایش بر روی آن را  فراهم می کنند.

دیاگرام زیر ارتباط بین واسط ها و سلسله مراتب توارث بین آنها را شرح می دهد.

در کلاس دیاگرام کلیه متدها نمایش داده نمی شوند بلکه فقط متدهای مهم لیست شده است.واسط ها در دو نوع کلی Generic  و NonGeneric  وجود دارند.

اینترفیس جنریک همانند اینترفیس معمولی است. با این تفاوت که برای آن‌ها یک نوع عمومی تعریف می‌شود و نوع آن‌ها در زمان اجرا تعیین خواهد شد و کلاس بر اساس نوع اینترفیس، اینترفیس را پیاده سازی می‌کند.

در جدول بالا امکاناتی که هر اینترفیس در صورت پیاده سازی به  Collection  اضافه خواهد کرد، لیست شده است.همچینن اگر این قابلیت به ارث برده شده است با واژه Inherited  مشخث شده است.

با توجه به جدول بالا در مورد سه اینترفیس/واسط اصلی نتایج زیر را می توان گرفت:

IEnumerable- یک مجموعه/Collection  را قابل شمارش می کند.

ICollection- شامل متدهایی چون برگرداندن یک عضو از مجموعه ، اندازه مجموعه ، افزودن به و حذف کردن از مجموعه  می باشد. از آنجاییکه که این اینترفیس از IEnumerable ارث می برد بنابراین تمام امکانات داخل IEnumerable به این واسط نیز به ارث می رسد و در آن وجود دارد.

Ilist-این واسط از ICollection به ارث می برد.بنابراین تمام امکانات در سلسله مراتب توارث در این واسط نیز وجود دارد

در IEnumerable فقط می توان به سمت جلو حرکت کرد. نمی توان به سمت عقب یا بین آیتمها حرکت کرد.IReadOnly  هم مانند IEnumerable فقط حرکت رو به جلو دارد منتها تفاوت آن با IEnumerable در این است که نمی توان آیتم های را حذف یا اضافه کرد.

IReadOnly  قسمتی از framework 4.5. می باشد

نتیجه

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

آموزش سی شارپ

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 1 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید