یکشنبه ۳۰ اردیبهشت ۱۳۹۷
خانه / آموزش برنامه نویسی / مفهوم Polymorphism در سی شارپ – آموزش سی شارپ مقدماتی

مفهوم Polymorphism در سی شارپ – آموزش سی شارپ مقدماتی

مفهوم Polymorphism در سی شارپ

مفهوم Polymorphism در سی شارپ و آشنایی با اون برای کامل کردن اطلاعات در مورد برنامه نویسی شی گرا لازمه.

در اصطلاح پلی مورفیسم ب معنای چند ریختیه.

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

پلی مورفیسم در سی شارپ میتونه استاتیک یا داینامیک باشه.

در ادامه بحث با پلی مورفیسم استاتیک و داینامیک آشنا میشیم.

پلی مورفیسم استاتیک

پلی مورفیسم استاتیک در زمان کامپایل شکل میگیره.

یکی از مثال های رایج برای پلی مورفیسم استاتیک overload کردن یک متد هست.

به طور خلاصه overload کردن متد عبارتست از استفاده ی چندین و چندباره نام یک متد در داخل یک کلاس تحت شرایط خاص.

همونطور ک میدونید در سی شارپ استفاده از یک نام برای دو متغیر خطای زمان کامپایل رو ب همراه داره.

اما تحت شرایطی برنامه نویس میتونه اسم چندتا متد رو یکسان بذاره.

فرض کنین ی کلاس داریم با نام Printer:

همونطور که در بالا میبینین سه متد با نام PrintVar داریم.

فرقشون در نوع آرگومان ورودیه.

پس یکی از شرایطی که سبب میشه نام متد بتونه یکسان باشه فرق نوع آرگومان ورودیه.

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

یکی دیگه از شرایط ک نام تابع میتونه یکسان باشه تفاوت در تعداد آرگومان های ورودیه.

فقط مد نظر داشته باشین تغییر نوع بازگشتی تابع ب تنهایی (بدون تغییر در ورودی) نمیتونه سبب پلی مورفیسم بشه و خطا میده.

از دیگر مثال های رایج در پلی مورفیسم استاتیک overloading اپراتوره ک با اونم در قسمت های بعدی آشنا میشیم.

پلی مورفیسم داینامیک

پلی مورفیسم داینامیک در زمان اجرا شکل میگیره.

یکی از مواردی ک در سی شارپ اجازه میده تا پلی مورفیسم داینامیک شکل بگیره کلاس های abstract هستن.

در حقیقت وقتی ما در یک کلاس abstract یک متد abstract داریم و این کلاس رو ب عنوان پدر یک کلاس دیگه قرار میدیم، اونوقت مجبور میشیم در کلاس فرزند تابع مذکور رو override کنیم.

override کردن یک متد هم نوع پلی مورفیسمه.

در نتیجه یکی دیگه از عواملی که سبب پلی مورفیسم داینامیک میشه توابع virtual هستن (که باهاش آشنا میشیم).

خب ب گمونم موضوع زیادی برای مانور دادن رو این موضوع نمونده.

همینجا بحث رو تموم میکنم.

البته اوایل این مطالب براتون سنگین ب نظر میاد

ولی کسی هم انتظار نداره ک شما ۲ روزه برنامه نویس بشین.

پس حوصله ب خرج بدین.

امیدوارم از بحث امروزمون راضی بوده باشین.

تا بحث های بعدی شما رو ب خدای بزرگ میسپارم.

ارادتمند شما

بهزاد حسنی

مفهوم Polymorphism در سی شارپ

امتیاز بدهید

با دادن امتیاز واقعی به این پست ما را در تقویت و بهبود مطالب سایت یاری فرمایید. با تشکر.

User Rating: 5 ( 1 votes)

درباره ی بهزاد حسنی

بهزاد حسنی
سلام خدمت دوستان. من بهزاد حسنی هستم. 3.5 سال هم توی دانشگاه و کلاس های خصوصی تدریس کردم. رشته دانشگاهیم نرم افزار بود و شدیدا برنامه نویسی میکردم :-) سابقه کار تو شرکت های بزرگ رو هم دارم. کل زندگی من وقف برنامه نویسی و ریاضی شده. امیدوارم بتونم همیشه برای ارتقای دانش کشور موثر باشم.

مطلب پیشنهادی

آشنایی با BitArray در سی شارپ

آشنایی با BitArray در سی شارپ – آموزش سی شارپ مقدماتی

آشنایی با BitArray در سی شارپ آشنایی با BitArray در سی شارپ کاربردهای قابل توجهی …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload the CAPTCHA.