08-10-12, 06:13 PM
منقول من المنتدى القديم
كاتب المقال احمد جمال
المشرف العام
Polymorphism :
المبدأ الأخير من مبادئ OOP هو السماح بكتابة كلاس بدواله بدون اي Implementation ، والسبب هو اجبار اي مستخدم يقوم باشتقاق الكلاس بعمل implementation لهذه الدوال بما يضمن تشابه الاسماء ، ابسط مثال على ذلك كلاس Shape ، حيث يمكننا تعريفه بالشكل التالي :
c#:
VB.net:
في هذه الحالة يعرف ال Class باسم Abstract Class ، توفر C# ايضاً مبدأ ال Interface والذي يشبه كثيراً ال Abstract Class ولكن مع فروقات سنتعرف عليها في حينها .
في الكلاس السابق فإن كل كلاس ( دائرة ، مربع ، مثلث ) سيتم اشتقاقه من هذا الكلاس سيكون مجبراً على كتابة اكواد الرسم وحساب المساحة لكل منهم . يمكن عمل ذلك بطريقة أخرى عبر ال OverRidding ولكن مع الاختلاف في احتمالية وجود default Implementation .
المبادئ التي تعرفنا عليها اليوم سيتم شرحها تفصيلاً في دروس قادمة ، ولكن كانت هذه المقدمة ضرورية للمتابعة مع بعض العناصر الأخرى ضمن حلقات هذا الأسبوع .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
كاتب المقال احمد جمال
المشرف العام
Polymorphism :
المبدأ الأخير من مبادئ OOP هو السماح بكتابة كلاس بدواله بدون اي Implementation ، والسبب هو اجبار اي مستخدم يقوم باشتقاق الكلاس بعمل implementation لهذه الدوال بما يضمن تشابه الاسماء ، ابسط مثال على ذلك كلاس Shape ، حيث يمكننا تعريفه بالشكل التالي :
c#:
كود :
class Shape
{
public void Draw()
{
}
public void GetSize()
{
}
}VB.net:
كود :
Class Shape
Public Sub Draw()
End Sub
Public Sub GetSize()
End Sub
End Classفي هذه الحالة يعرف ال Class باسم Abstract Class ، توفر C# ايضاً مبدأ ال Interface والذي يشبه كثيراً ال Abstract Class ولكن مع فروقات سنتعرف عليها في حينها .
في الكلاس السابق فإن كل كلاس ( دائرة ، مربع ، مثلث ) سيتم اشتقاقه من هذا الكلاس سيكون مجبراً على كتابة اكواد الرسم وحساب المساحة لكل منهم . يمكن عمل ذلك بطريقة أخرى عبر ال OverRidding ولكن مع الاختلاف في احتمالية وجود default Implementation .
المبادئ التي تعرفنا عليها اليوم سيتم شرحها تفصيلاً في دروس قادمة ، ولكن كانت هذه المقدمة ضرورية للمتابعة مع بعض العناصر الأخرى ضمن حلقات هذا الأسبوع .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
