![]() |
|
تعدد الاشكال Polymorphism #2 - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : تعدد الاشكال Polymorphism #2 (/showthread.php?tid=28887) |
تعدد الاشكال Polymorphism #2 - Sajad - 07-03-19 بسم الله الرحمن الرحيم
تعدد الاشكال Polymorphism الجزء الثاني: سبق وشرحنا في درس سابق عن تطبيق بسيط من تطبيقات تعدد الاشكال ،حيث اخذنا علامة الزائد (+) كمثال لذلك. في هذا الدرس سوف نتعمق قليلا وذلك بتبيان انواع تعدد الاشكال. هنالك نوعان من الـPolymorphism: 1- Compile Time Polymorphism. 2- Run Time Polymorphism. 1- Compile Time Polymorphism: يتم من خلال استخدام Overloading سواء للدوال أو للمعاملات حيث يتم التحقق من الدالة المستدعاة من حيث نوع الدالة ونوع وعدد وترتيب الباراميترات وقت الترجمة Compile Time أي اثناء كتابة الكود البرمجي، وتسمى ايضا بــ static polymorphism او early binding كما في المثال ادناه: PHP كود : public class Information2- Run Time Polymorphism: يتم من خلال استخدام مبدأ الوراثة باستخدام virtual methods في الكلاس الأب وoverride methods في الكلاس الابن حيث يتم اعادة استخدام دوال الـvirtual في الكلاس الابن وذلك من خلال اعادة تعريف هذه الدوال بنفس الاسماء ونفس المدخلات باستخدام كلمة override بحيث يتم التحقق من هذه الدوال المستدعاة وقت التنفيذ، وتسمى ايضا بــdynamic polymorphism او late binding. بحيث بامكاننا تحديث او تعديل مكونات الدالة الخاصة للـ Parent Class داخل الـ Childes Classes حسب متطلبات دوال الكلاسات الابناء. المثال: PHP كود : internal class Programتحياتي لكم سجاد محمد |