C# - Abstract Class

ما هو الكلاس المجرد (Abstract Class)؟

  • هو كلاس لا يمكن إنشاء كائن (Instance) منه مباشرة.
  • يستخدم كأساس (Base Class) للكلاسات الأخرى.
  • يمكن أن يحتوي على دوال مجردة (Abstract Methods)، والتي لا تحتوي على تنفيذ (يتم تعريفها فقط دون كود داخلها)، ويجب على الكلاسات المشتقة (Derived Classes) أن توفر تنفيذًا لها.

لماذا نستخدم الكلاس المجرد؟

  • لضمان التوحيد: يجبر الكلاسات المشتقة على تنفيذ بعض الدوال الأساسية.
  • لتوفير وظائف مشتركة: يمكنه احتواء دوال غير مجردة ذات تنفيذ مشترك لكل الكلاسات المشتقة.

مثال على كلاس مجرد في C#:

abstract class Animal
{
public abstract void MakeSound(); // دالة مجردة بدون تنفيذ
public void Sleep()
{
Console.WriteLine("Sleeping...");
}
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Woof! Woof!");
}
}
class Program
{
static void Main()
{
Dog myDog = new Dog();
myDog.MakeSound(); // تنفذ الدالة التي تم فرضها
myDog.Sleep(); // تنفذ الدالة العادية
}
}

النقاط الرئيسية:

  • إذا كان الكلاس يحتوي على دالة واحدة مجردة على الأقل، فيجب أن يكون الكلاس نفسه مجردًا (abstract).
  • الكلاس المشتق يجب أن يعيد تعريف جميع الدوال المجردة باستخدام override.
  • يمكن أن يحتوي الكلاس المجرد أيضًا على دوال عادية لها تنفيذ.


تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

HTML - ملخص شامل لأهم التاجات

HTML - Youtube videos تضمين فيديوهات اليوتيوب