0Pricing
C# Academy · درس

الفئات المجرّدة

استكشف الفئات المجرّدة ودورها في إنشاء بنية مشتركة للفئات المشتقة

الفئات المجرّدة درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 2 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 6 دروس في المجموع.

الفئات المجرّدة

الفئات المجرّدة

مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس الفئات المجرّدة في C#، والغرض منها، وكيف تختلف عن الواجهات. لنبدأ!

الفئات المجرّدة — رسم توضيحي 1

ما الفئة المجرّدة؟

ما الفئة المجرّدة؟

الفئة المجرّدة هي فئة لا يمكن إنشاء مثيل منها مباشرةً. وهي بمثابة مخطط أساسي للفئات الأخرى، وقد تتضمن أساليب مجرّدة يجب على الفئات المشتقة تنفيذها.

نقطة مهمة: يمكن للفئات المجرّدة أن تتضمن أساليب منفّذة بالكامل، وأساليب مُعلنة فقط (أساليب مجرّدة).

تعريف فئة مجرّدة

تعريف فئة مجرّدة

لتعريف فئة مجرّدة، استخدم الكلمة الأساسية abstract. مثال:

تلميح: استخدم الفئات المجرّدة لتوفير فئة أساسية مشتركة للفئات المرتبطة.

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
    public void Sleep() { // Non-abstract method
        Console.WriteLine("The animal is sleeping.");
    }
}

تنفيذ فئة مجرّدة

تنفيذ فئة مجرّدة

يجب على الفئات المشتقة تنفيذ جميع الأساليب المجرّدة في الفئة المجرّدة. مثال:

نقطة مهمة: تحدد الأساليب المجرّدة سلوكًا يجب على الفئات المشتقة تنفيذه.

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
    public void Sleep() {
        Console.WriteLine("The animal is sleeping.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Program {
    static void Main() {
        Dog myDog = new Dog();
        myDog.Speak(); // Outputs: The dog barks.
        myDog.Sleep(); // Outputs: The animal is sleeping.
    }
}

الفئات المجرّدة في مقابل الواجهات

الفئات المجرّدة في مقابل الواجهات

تُستخدم كل من الفئات المجرّدة والواجهات لتحقيق التجريد، لكنهما تختلفان في عدة جوانب:

  • يمكن للفئات المجرّدة أن تحتوي على أساليب منفّذة وأخرى مجرّدة، بينما لا يمكن للواجهات أن تحتوي إلا على أساليب مجرّدة (قبل C# 8.0).
  • يمكن للفئات المجرّدة أن تتضمن حقولًا ومُنشئات ومعدِّلات وصول لأعضائها.
  • يمكن للفئة أن ترث فئة مجرّدة واحدة فقط، لكنها تستطيع تنفيذ عدة واجهات.

تلميح: استخدم الفئات المجرّدة للفئات شديدة الارتباط، والواجهات لتحقيق تجريد أوسع.

متى نستخدم الفئات المجرّدة؟

متى نستخدم الفئات المجرّدة؟

يفضل استخدام الفئات المجرّدة عندما:

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

مثال: فئة مجرّدة باسم «Shape» لفئتي «Circle» و«Rectangle».

تحدٍّ تطبيقي

تحدٍّ تطبيقي

أنشئ فئة مجرّدة باسم Shape تحتوي على أسلوب مجرّد باسم CalculateArea(). نفّذ هذا الأسلوب في الفئتين المشتقتين Rectangle وCircle. مثال:

using System;

abstract class Shape {
    public abstract double CalculateArea();
}

class Rectangle : Shape {
    public double Width { get; set; }
    public double Height { get; set; }

    public override double CalculateArea() {
        return Width * Height;
    }
}

class Circle : Shape {
    public double Radius { get; set; }

    public override double CalculateArea() {
        return Math.PI * Radius * Radius;
    }
}

class Program {
    static void Main() {
        Shape rectangle = new Rectangle { Width = 5, Height = 4 };
        Shape circle = new Circle { Radius = 3 };

        Console.WriteLine("Rectangle Area: " + rectangle.CalculateArea());
        Console.WriteLine("Circle Area: " + circle.CalculateArea());
    }
}

أفضل الممارسات للفئات المجرّدة

أفضل الممارسات للفئات المجرّدة

إليك بعض أفضل الممارسات:

  • استخدم الفئات المجرّدة عندما تكون لديك وظائف مشتركة تحتاج إلى توريثها.
  • اجعل الفئة المجرّدة مركّزة، وتجنب إضافة أعضاء غير ضرورية.
  • اجمع بين الفئات المجرّدة والواجهات عند ملاءمة ذلك.

تلميح: ينبغي أن توفر الفئات المجرّدة أساسًا متينًا للفئات المشتقة.

أحسنتم!

أحسنتم!

تهانينا! لقد تعلمتم كيفية استخدام الفئات المجرّدة لتعريف السلوك المشترك وفرض الاتساق بين الفئات المشتقة. في الدرس التالي، سنستكشف الأعضاء والأساليب الثابتة في C#. واصلوا البرمجة!

الفئات المجرّدة — رسم توضيحي 10

الأسئلة الشائعة

هل درس «الفئات المجرّدة» مجاني؟

نعم — نص درس «الفئات المجرّدة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 6 دروس في المجموع.

ماذا ستتعلم في «الفئات المجرّدة»؟

استكشف الفئات المجرّدة ودورها في إنشاء بنية مشتركة للفئات المشتقة تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 6.

كم من الوقت يستغرق درس «الفئات المجرّدة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى الواجهات
  2. الفئات المجرّدة
  3. الأعضاء والأساليب الساكنة
  4. استكشاف التعدادات والبُنى
  5. المفوضات والأحداث
  6. العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار
← العودة إلى C# Academy