الواجهة (مرجع C#)

تحتوي الواجهة فقط على تواقيع أساليب, خصائص, أحداثأو مفهرسات. الفئة أو البنية التي تنفذ الواجهة يجب أن تقوم بتطبيق أعضاء الواجهة المحددة في تعريف الواجهة. في المثال التالي، الفئة ImplementationClass يجب أن تقوم بتنفيذ أسلوب باسم SampleMethod الذي لا يحتوي على معلمات وإرجاع void.

لمزيد من المعلومات، راجع الواجهات (ارشادات البرمجة C#).

مثال

interface ISampleInterface
{
    void SampleMethod();
}

class ImplementationClass : ISampleInterface
{
    // Explicit interface member implementation: 
    void ISampleInterface.SampleMethod()
    {
        // Method implementation.
    }

    static void Main()
    {
        // Declare an interface instance.
        ISampleInterface obj = new ImplementationClass();

        // Call the member.
        obj.SampleMethod();
    }
}

الواجهة يمكن أن تكون عضوا في مساحة اسم أو فئة، ويمكن أن تحتوي على تواقيع من الأعضاء التالية أسماؤهم:

يمكن أن ترث الواجهة من واجهات أساسية أو أكثر.

عندما تحتوي قائمة نوع أساسي على فئة أساسية وواجهات, يجب أن تأتي الفئة الأساسية أولاً في القائمة.

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

لمزيد من التفاصيل والأمثلة على التعليمات البرمجية على تنفيذ واجهة واضحة، راجع تنفيذ واجهة صريح (إرشادات برمجة C#).

يوضح المثال التالي تطبيق واجهة واجهة. في هذا المثال، تحتوي الواجهة على تعريف خاصية و فئة تحتوي على التطبيق. أي مثيل للفئة التي تنفذ IPoint لها خصائص عدد صحيح x و y.

    interface IPoint
    {
       // Property signatures:
       int x
       {
          get;
          set;
       }

       int y
       {
          get;
          set;
       }
    }

    class Point : IPoint
    {
       // Fields:
       private int _x;
       private int _y;

       // Constructor:
       public Point(int x, int y)
       {
          _x = x;
          _y = y;
       }

       // Property implementation:
       public int x
       {
          get
          {
             return _x;
          }

          set
          {
             _x = value;
          }
       }

       public int y
       {
          get
          {
             return _y;
          }
          set
          {
             _y = value;
          }
       }
    }

    class MainClass
    {
       static void PrintPoint(IPoint p)
       {
          Console.WriteLine("x={0}, y={1}", p.x, p.y);
       }

       static void Main()
       {
          Point p = new Point(2, 3);
          Console.Write("My Point: ");
          PrintPoint(p);
       }
    }
    // Output: My Point: x=2, y=3

مواصفات لغة #C

لمزيد من المعلومات، راجع مواصفات لغة #C. مواصفات اللغة هي المصدر النهائي لبناء جملة C# واستخدامها.

راجع أيضًا:

المرجع

الكلمات الأساسية لـ #C

مرجع أنواع (C# مرجع)

الواجهات (ارشادات البرمجة C#)

الخصائص (دليل البرمجة لـ #C)

استخدام المفهرسات (دليل البرمجة لـ #C)

class (مرجع #C)

الواجهات (ارشادات البرمجة C#)

المبادئ

دليل البرمجة لـ #C

موارد أخرى

مرجع C#‎

struct