C# - Polymorphism
C# - تعدد الأشكال (Polymorphism)
تعدد الأشكال هو مبدأ من مبادئ البرمجة الكائنية (OOP) يسمح باستخدام نفس الاسم لطريقة (Method) أو خاصية (Property) لكن بسلوك مختلف. يُمكّن هذا المبدأ الكائنات المختلفة من الرد بطرق مختلفة على نفس الاستدعاء.
🧠 نوعا Polymorphism في C#:
- Compile-time Polymorphism (يسمى أيضًا Overloading)
- Run-time Polymorphism (يسمى أيضًا Overriding)
🌀 مثال على Overriding (تعدد الأشكال في وقت التشغيل):
class Animal
{
public virtual void Speak()
{
Console.WriteLine("الحيوان يصدر صوتًا");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("الكلب ينبح");
}
}
class Program
{
static void Main()
{
Animal myAnimal = new Dog(); // مرجع من النوع الأب يشير إلى كائن من النوع الابن
myAnimal.Speak(); // ستتم طباعة: الكلب ينبح
}
}
🔹 تم استخدام virtual
في الكلاس الأب وoverride
في الكلاس الابن.
⚡ مثال على Overloading (تعدد الأشكال في وقت الترجمة):
class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b)
{
return a + b;
}
}
🔹 نفس اسم الدالة Add
لكن تختلف في نوع وعدد المعاملات.
🎯 ملاحظات:
- Polymorphism يسهل توسيع البرنامج بدون تعديل الكود القديم.
- يساعد في كتابة كود مرن يدعم التغيير بسهولة.
- الـ Overriding يتطلب استخدام
virtual
وoverride
.
تعليقات
إرسال تعليق