#️⃣ شرح C#

الوراثة (Inheritance)

ما هي الوراثة؟

صنف يرث أعضاء صنف آخر — علاقة "هو نوع من". تُكتب بنقطتين ::

class Animal
{
    public string Name;
    public void Eat() => Console.WriteLine($"{Name} يأكل");
}

class Dog : Animal
{
    public void Bark() => Console.WriteLine($"{Name} ينبح");
}

الاستخدام:

Dog d = new Dog();
d.Name = "ريكس";
d.Eat();    // ورثها
d.Bark();   // خاصّة بـ Dog

base — استدعاء الأب

class Dog : Animal
{
    public Dog(string name)
    {
        base.Name = name;   // أو Name مباشرة
    }
}

استدعاء مُنشئ الأب:

public Dog(string name) : base(name) { }

sealed لمنع الوراثة

sealed class FinalClass { }   // لا يمكن اشتقاقه

كل صنف يرث object

كل الأصناف ترث ضمنيًّا من object (لذا توجد ToString() و Equals()).

💡 C# لا تدعم الوراثة المتعدّدة للأصناف — تُحلّ بالواجهات.

🎯 التالي: تعدّد الأشكال.