چند ریختی در علوم کامپیوتر چیست؟ در این مقاله برآنیم که چند ریختی در علوم کامپیوتر را توضیح داده و ارتباط آن با علوم دیگر را نیز بیابیم.
تعریف پلی مورفیسم
واژه پلی مورفیسم به طور جداگانه در چهار رشته علمی: زیست شناسی ، ژنتیک ، بیوشیمی و علوم کامپیوتر تعریف شده است.
چند ریختی در زیست شناسی چیست؟
در زمینه بیولوژیکی ، چند شکلی به این ایده اشاره دارد که اعضای یک جمعیت یا کلونی ممکن است ویژگی های بصری متفاوتی را داشته باشند.
چند ریختی در ژنتیک چیست؟
در ژنتیک ، پلی مورفیسم نشان دهنده تنوع در کدگذاری ژنتیکی افراد در یک جمعیت است.
چند ریختی در بیوشیمی چیست؟
در زمینه بیوشیمی ، اصطلاح پلی مورفیسم برای توصیف تفاوتهای ساختاری ظریف در پروتئینهایی که از دیگر منظرها یکسان هستند استفاده میشود.
ریشههای تعریف چند شکلی
بررسی ریشههای یونانی واژه چند شکلی میتواند به روشن شدن بیشتر شباهتهای این تعاریف کمک کند. واژه poly به معنی “زیاد” و کلمه morph به معنی “شکل” است ، بنابراین وقتی در مورد چند شکلی صحبت میکنیم در مورد چیزی صحبت میکنیم که در شرایط مختلف به اشکال مختلف ظاهر شده و خود را نشان میدهد.
چند ریختی در علوم کامپیوتر ، مهندسی و برنامه نویسی شی گرا چیست؟
این ملاحظات ، ما را به تعریف رایانهای از پلی مورفیسم میرساند. ما سه نسخه مختلف را برای حداکثر وضوح ارائه میدهیم.
پلی مورفیسم یکی از ویژگیهای زبانهای برنامه نویسی شی گرا است که به روال خاصی اجازه میدهد از متغیرهای مختلف در زمانهای مختلف استفاده کنند.
پلی مورفیسم توانایی یک زبان برنامه نویسی برای ارائه یک رابط یکسان برای چندین نوع داده مختلف است.
چند شکلی بودن توانایی اجسام مختلف برای پاسخگویی منحصر به فرد به یک پیام است.
انواع چند شکلی: مثالها و چالشها
پلی مورفیسم یکی از ویژگیهای اساسی هر زبان برنامه نویسی شی گرا است. زبانهایی مانند Ruby ، Java ، C ++ و Python همه از چند شکلی پشتیبانی میکنند. کد چند شکلی به یک برنامه شی گرا اجازه میدهد تا اشیاء را به شکل متفاوت و بر اساس نوع داده یا کلاس آنها ، با قابلیت بازتعریف روشهای اشتقاق کلاسها ، پردازش کند. بی آنکه به جزئیات نحوه نوشتن کد چندشکلی (از آنجا که بسته به زبانی که استفاده میکنید میتوان آن را به صورت متفاوتی انجام داد.) بپردازیم.
بیایید نگاهی به دو مورد از رایجترین مثالهایی که برای نشان دادن چندشکلی در محاسبات استفاده میشود بیندازیم.
نمونههایی از اشکال چند ریختی
چند شکلی در برنامه نویسی به برنامه این امکان را میدهد که روشهای کلاسهای مشتق شده را نادیده بگیرد. تصور کنید ما یک قطعه کد می نویسیم که در آن یک کلاس پایه به نام “شکل” تعریف میکنیم.
ممکن است بخواهیم روشهای خاصی مانند مساحت و محیط را که میتوان در کلاس پایه اعمال کرد ، تعریف کنیم. اما مشکلی وجود دارد. دانش ما در مورد هندسه به ما میگوید که نمیتوان از یک روش برای محاسبه مساحت و محیط یک دایره و یک مستطیل استفاده کرد. برای مثال ، مساحت و محیط یک دایره به شعاع آن بستگی دارد و مساحت و محیط یک مستطیل به عرض و طول آن بستگی دارد.
برای حل این مشکل با استفاده از کدگذاری چند شکلی ، می توانیم یک دایره و یک مستطیل را به عنوان زیر کلاسها یا کلاسهایی که از شکل کلاس پایه گرفته شدهاند تعریف کنیم. هر زیر کلاس میتواند روش خود را برای مساحت و محیط داشته باشد و هر متد پارامترهای متفاوتی را میپذیرد: طول و عرض برای مستطیلها ، شعاع برای دایرهها.
اکنون شکل کلاس پایه ما دارای دو کلاس مشتق شده است: مستطیل و دایره. هر کدام روشهای متفاوتی برای مساحت و محیط دارند. وقتی یکی از متدها را فراخوانی میکنیم ، میتوان از مجموعه پارامترهای ارائه شده برای تعیین اینکه کدام روش باید فراخوانی شود استفاده کرد. اگر یک پارامتر واحد برای شعاع ارائه دهیم ، برنامه ما میتواند متدهایی را که به کلاس دایره تعلق دارند فراخوانی کند. اگر دو پارامتر برای طول و عرض ارائه دهیم ، برنامه ما میتواند متدهایی را که متعلق به کلاس مستطیل است فراخوانی کند. این نشان دهنده نوعی از چند شکلی ایستا به نام روش اضافه بار است.
پنج نوع چند شکلی چیست؟
روشهای مختلفی برای پیادهسازی چند شکلی برنامه نویسی برای حل مشکلات رایانه وجود دارد. در زیر ، ما پنج نوع مختلف از چند شکلی را که معمولاً در زبانهای برنامه نویسی مختلف استفاده میشوند ، به طور خلاصه شرح میدهیم.
چند ریختی موقت در علوم کامپیوتر
پلی مورفیسم موقت ، تک کاره یا ad-hoc به این ایده اشاره دارد که یک تابع خاص میتواند بر روی آرگومانهای مختلف اعمال شود و بسته به نوع آرگومانهایی که تابع روی آنها اعمال میشود میتواند متفاوت عمل کند. یک مثال پایه از یک تابع چند شکلی عملگر علامت بعلاوه (+) است. از این عملگر میتوان به روشهای مختلفی از جمله جمع عدد صحیح ، جمع نقطه شناور ، الحاق لیست و الحاق متغیرهای رشتهای استفاده کرد.
وقتی یک عملگر متفاوت بسته به نوع آرگومان ، عملکردهای متفاوتی را انجام میدهد ، گفته میشود که عملگر بیش از حد بار شده است. پلی مورفیسم “تک کاره” یا “موقت” مناسب به عنوان اضافه بار تابع یا اضافه بار اپراتور نیز نامیده میشود.
چند شکلی پارامتریک
چند شکلی پارامتری به برنامه نویسان اجازه میدهد تا توابع عمومی را بنویسند که میتوانند مقادیر (Values) هر پارامتر را بدون توجه به نوع آنها ، به صورت یکسان اعمال کنند. به عبارت دیگر ، یک تابع پارامتریک قطعهای از کد است که بدون در نظر گرفتن نوع دادهها با همه آنها یکسان رفتار میکند. چند شکلی پارامتری برای نوشتن توابع عمومی که بر روی مجموعه داده کار میکنند ، صرف نظر از نوع خاص هر عنصر در مجموعه ، استفاده میشود.
زیرتایپهای چند شکلی در برنامه نویسی شی گرا
در مثال بالا ، ما کلاسی به نام اشکال و کلاسهای مشتق شده به نام دایره و مستطیل را تعریف کردهایم. در زیر تایپ ما یک ابر نوع تعریف میکنیم که میتواند چندین زیرگونه داشته باشد. در هر زیرگونه ، توابع یا زیر روالهای مختلفی برای کار روی ابرنوع نوشته شدهاند که میتوانند بر روی زیرگونههای مختلف نیز کار کنند.
ما می توانیم ابر نوع “ورزش” و زیرگونههای آن مانند “ورزشهای رزمی” ، “ورزشهای توپی” و “ورزشهای آبی” را تعریف کنیم. هر نوع فرعی “ورزش” مانند “ورزشهای رزمی” ، یکی از انواع ابرنوع “ورزش” است که برخی از ویژگیهای آن را به اشتراک میگذارد ، اما نه همه آنها را. پلی مورفیسم زیر نوع به عملکردی که معمولاً بر روی شیء “ورزش” کار میکند اجازه میدهد تا بر روی اجسام متعلق به یکی از زیرگروههای “ورزش” نیز کار کند. شما میتوانید روشی بنویسید که ورزش را به عنوان پارامتر در نظر میگیرد ، اما میتوانید از “ورزشهای توپی” به عنوان پارامتر نیز استفاده کنید زیرا که زیرگونهای از “ورزش” است.
چند شکلی خطی
چند شکلی ردیف نوع خاصی از چند شکلی است که با سوابق موجود در پایگاههای داده یا صفحات گسترده که معمولاً به عنوان سطر شناخته میشوند ، سروکار دارد. از چند شکلی ردیف میتوان برای نوشتن برنامههایی استفاده کرد که فقط در یک قسمت مشخص از یک رکورد اجرا میشوند.
پلی تایپیسم
پلی تایپیسم ، که به عنوان عمومی بودن نوع داده نیز شناخته میشود ، در برنامه نویسی چند شکلی عمومی استفاده میشود. در برنامه نویسی عمومی ، برنامه نویسان الگوریتمهایی را ایجاد میکنند که میتوان انواع آنها را بعداً مشخص کرد. هنگامی که الگوریتم بعداً نمونهگیری شد ، انواع مورد نیاز را میتوان به عنوان پارامتر ارائه کرد. نوع عمومی را نوع پارامتری نیز مینامند.
در این مقاله درباره چند ریختی در علوم کامپیوتر و به ویژه برنامه نویسی شی گرا صحبت کردیم. با تشکر از توجه شما.
منبع
۱. چندشکلی در برنامهنویسی چیست؟ – ترجمه از انگلیسی
این مقاله برای من مفید بود
1+ 0 نفر این مقاله را پسندیده