زبان برنامه نویسی شارپ
مزایای تولیدات عمومی
با استفاده از مطالب عمومی ، برنامه نویسان فقط کافی است یک بار کد را بنویسند ، تست کنند و مستقر کنند و سپس برای انواع مختلفی از داده ها ، از کد مجدداً استفاده کنند. مثال Stack اول این ویژگی را دارد و مثال Stack دوم این امکان را به برنامه می دهد تا از کدی استفاده کند که تأثیر کمی بر عملکرد برنامه آن دارد. برای انواع مقدار ، مثال Stack اول دارای مشکل عملکرد بزرگتری است و مثال Stack دوم این مشکل را کاملاً برطرف می کند زیرا بوکس و تبدیل نوع رو به پایین را برطرف می کند.
علاوه بر این ، محصولات ژنتیکی در زمان کامپایل بررسی می شوند. هنگامی که یک برنامه با استفاده از پارامترهای نوع ارائه شده یک کلاس عمومی را نمونه سازی می کند ، این پارامتر نوع فقط می تواند نوع تعیین شده توسط برنامه در تعریف کلاس باشد. به عنوان مثال ، اگر برنامه Stack از نوع آبجکت مشتری را ایجاد کند ، نمی تواند اعداد صحیح را به پشته فشار دهد. با مجبور کردن این نوع عملیات ، می توان کد قابل اطمینان تری تولید کرد.
علاوه بر این ، در مقایسه با سایر پیاده سازی های نوع دقیق ، اجرای C # عمومی سرعت گسترش کد را کاهش می دهد. استفاده از ژنریک برای ایجاد مجموعه هایی با انواع می تواند ضمن ایجاد مزایای عملکرد عملیاتی ، از ایجاد انواع خاص هر کلاس جلوگیری کند. به عنوان مثال ، این برنامه می تواند بدون ایجاد IntegerStack برای ذخیره سازی اعداد صحیح ، StringStack برای ذخیره رشته ها و CustomerStack برای ذخیره انواع مشتری ، یک کلاس Stack پارامتر ایجاد کند.
این می تواند خوانایی کد را افزایش دهد. فقط یک کلاس Stack ایجاد کنید ، و برنامه می تواند تمام عملیات مربوط به یک پشته خاص را در یک کلاس راحت کپسوله کند. سپس ، هنگام ایجاد یک پشته از نوع مشتری ، اگرچه نوع مشتری در آن ذخیره شده است ، بدیهی است که برنامه همچنان از ساختار داده پشته استفاده می کند.
پارامترهای چند نوع
ژنریک ها می توانند از هر تعداد پارامتر استفاده کنند. فقط یک نوع در مثال Stack بالا استفاده شده است. فرض کنید شما یک کلاس Dictionary ساده ایجاد کرده اید که مقادیر و کلیدها را در خود ذخیره می کند. در این برنامه ، می توانید با اعلام دو پارامتر (در براکت های زاویه ای در تعریف کلاس قرار بگیرید و با کاما از هم جدا شوید) ، یک نسخه عمومی از کلاس Dictionary تعریف کنید.
مانند کلاس Stack قبلی که با نوع Order ایجاد شده بود ، نمونه دیگری از کلاس Stack اختصاصی ایجاد شده و نشانگر موجود در آن تنظیم می شود تا به یک منطقه حافظه به اندازه نوع مشتری ارجاع شود. از آنجا که برنامه های مختلف تفاوت زیادی در تعداد انواع مرجع دارند ، اجرای عمومی C # تعداد انواع مرجع را به تعداد کلاسهای ویژه ایجاد شده توسط کامپایلر برای انواع مرجع کلاسهای عمومی کاهش می دهد و سرعت گسترش کد را بسیار کاهش می دهد.
بعلاوه ، وقتی یک کلاس عمومی C # با پارامترهای نوع (چه نوع مقداری باشد یا نوع مرجع) نمونه سازی شود ، می توان از بازتاب و انواع واقعی برای پرس و جو در زمان اجرا استفاده کرد و پارامترهای نوع آن را تعیین کرد.
https://www.huaweicloud.com/articles/beefe5efa9007741f8659631b22001f8.html
[ بازدید : 145 ] [ امتیاز : 3 ] [ نظر شما : ]