PDA

View Full Version : سوال: چه موقع به تعریف یک کلاس Generic نیاز داریم ؟



میلاد قاضی پور
پنج شنبه 01 مهر 1389, 16:52 عصر
سلام . اینبار نوبت یادگیری کلاسهای جنریک بود و باز سوألی که ذهنم منو همیشه مشغول میکنه به ذهنم رسید و اون اینکه چه موقع باید یک کلاس جنریک دلخواه رو تعریف کنیم . با وجود نمونه های موجود در دات نت ، چه وقت نیاز پیدا میکنیم که یک کلاس جنریک سفارشی بنویسیم؟

r00tkit
پنج شنبه 01 مهر 1389, 17:01 عصر
جواب سوالت رو باید از دل تعریف جنریک در بیاری: زمانی که نیاز داری کاری انجام بدی که مستقل از نوع (تابپ) باشه و
This allows a function or class to work on many different data types (http://en.wikipedia.org/wiki/Datatype) without being rewritten for each one.

در مورد نمونه های .net هم (اگه منظورت Collections باشه) اگه کارتو راه ننداخت یکی برای خودت می نویسی مثل swap (احساس می کنم بین generic و Collections فرق نمی زاری)


راستی : گوگل سلام رسوند

میلاد قاضی پور
پنج شنبه 01 مهر 1389, 17:47 عصر
گوگل رو خودم پیش پای شما دیدم رئیس . اما هر اونچه توسط گردن کلفتهای سی شارپ توی سایتها نوشته میشه چیزی هست که خودشون سر در میارن و فقط باید بخونی و دعا کنی که همونی باشه که خودت برداشت کردی . اما اینجا وقتی وضع خیلی وخیم باشه آدم میپرسه اگرم جایی ابهامی مجددا سوأل میکنه تا مسأله حل شه .
--------------------
ضمنا مچکر از شما این تیکه به دردم خورد .


زمانی که نیاز داری کاری انجام بدی که مستقل از نوع (تابپ) باشه

حالا من ده ها سایت و منبع معرفی میکنم که ببینید توی هیچ کدوم این جمله ساده و غنی نیست . پس اینجا یه بساط دیگه است.

hamid.shekasteh
جمعه 02 مهر 1389, 11:35 صبح
قبلا هم یه همچین بحثی بود ، این جا یه مطالبی نوشتم ، خلاصش اینه

به صورت خلاصه Generic کدنویسی شما رو کم می کنه .چگونه؟
در جنریک شما یک کلاس کلی رو می نویسید بدون اینکه برای یه نوع داده خاص باشه.
مثلا کلاس جمع دو عدد که هم می تونه عناصر int داشته باشه هم float , decimal ,...
این نوع برای ورودی و خروجی می تونه باشه.
Generic در دات نت مفهومی شبیه templete ها در C++‎ داره.

http://www.barnamenevis.org/forum/showthread.php?t=235463