ما هي الوراثة؟
صنف يرث أعضاء صنف آخر — علاقة "هو نوع من". تُكتب بنقطتين ::
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# لا تدعم الوراثة المتعدّدة للأصناف — تُحلّ بالواجهات.
🎯 التالي: تعدّد الأشكال.