الإرشادات التفصيلية: إنشاء و تنفيذ الواجهات

تصف الواجهات الصفات المميزة لخصائص وأساليب وأحداث لكنها تبقي تفاصيل التنفيذ إلى البنيات أو الفئات.

توضح هذه المعاينة كيفية تعريف و تنفيذ واجهة.

ملاحظة

قد تختلف مربعات الحوار وأوامر القائمة التى تشاهدها الان عن تلك الموصوفة في التعليمات اعتماداً على الإعدادات النشطة أو الإصدار الخاص بك. لتغيير الإعدادات الخاصة بك, اختر إعدادات الاستيراد و التصدير ضمن القائمة أدوات . لمزيد من المعلومات، راجع العمل مع إعدادات.

لتعريف واجهة:

  1. افتح نافذة Visual Basic جديدة لمشروع التطبيق .

  2. أضف وحدة نمطية جديدة إلى المشروع عن طريق النقر فوق إضافة وحدة نمطية على قائمة مشروع.

  3. قم بتسمية الوحدة النمطية الجديدة Module1.vb ثم انقر فوق إضافة. ينم عرض التعليمات البرمجية للوحدة النمطية الجديدة.

  4. قم بتعريف الواجهة باسم TestInterface ضمن Module1 عن طريق كتابة Interface TestInterface بين عبارات Module و End Module ومن ثم ضغط Enter. محرر التعليمات البرمجية يترك مسافة بادئة للكلمة الأساسية Interface و يضيف عبارة End Interface إلى نموذج مقطع التعليمات البرمجية.

  5. عرف خاصية، أسلوب، حدث، واجهة عن طريق وضع التعليمات البرمجية التالية بين عبارات Interface و End Interface:

    Property Prop1() As Integer
    Sub Method1(ByVal X As Integer)
    Event Event1()
    

التنفيذ

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

لتطبيق واجهة.

  1. أضف فئة بالاسم ImplementationClass عن طريق إضافة العبارة التالية إلى Module1، بعد العبارة End Interface ولكن قبل العبارة End Module ثم اضغط مفتاح الإدخال Enter:

    Class ImplementationClass
    

    إذا كنت تعمل ضمن بيئة التطوير المتكاملة، محرر التعليمات البرمجية يوفر عبارة End Class مطابقة عندما تقوم بالضغط على Enter.

  2. اضف العبارة Implements التالية إلى ImplementationClass، والتي تسمي الواجهة التي تطبقها الفئة:

    Implements TestInterface
    

    عند سرد بشكل منفصل من العناصر الأخرى في الجزء العلوي من فئة أو بنية، العبارة Implements تشير إلى أن الفئة أو البنية تقوم بتطبيق واجهة.

    إذا كنت تعمل ضمن بيئة التطوير المتكاملة، محرر تعليمات برمجية يطبق أعضاء الفئة المطلوبة من قبل TestInterface عند الضغط على Enter و يمكنك تخطي الخطوة التالية.

  3. إذا لم تكن تعمل داخل بيئة تطوير متكاملة، يجب تطبيق كل أعضاء الواجهة MyInterface. قم بإضافة التعليمات البرمجية التالية ImplementationClass لتطبيق Event1, Method1, و Prop1:

    Event Event1() Implements TestInterface.Event1
    
    Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1
    End Sub
    
    Public Property Prop1() As Integer Implements TestInterface.Prop1
        Get
        End Get
        Set(ByVal value As Integer)
        End Set
    End Property
    

    تسمي العبارة Implements الواجهة كما يتم تطبيق أعضاء الواجهة.

  4. أكمل تعريف Prop1 عن طريق إضافة حقل خاصة إلى فئة مخزنة في قيمة الخاصية:

    ' Holds the value of the property.
    Private pval As Integer
    

    تقوم بإرجاع قيمة pval من خاصية الموصل get.

    Return pval
    

    عين قيمة pval في خاصية الموصل get.

    pval = value
    
  5. أكمل تعريف Method1 عن طريق إضافة التعليمات البرمجية التالية.

    MsgBox("The X parameter for Method1 is " & X)
    RaiseEvent Event1()
    

لاختبار تطبيق الواجهة

  1. انقر على بزر الماوس الأيمن على نموذج بدء التشغيل للمشروع في مستكشف الحلول، وانقر فوق عرض التعليمات البرمجية. يعرض المحرر فئة نموذج بدء التشغيل. بشكل افتراضي، يسمى نموذج بدء التشغيل Form1.

  2. قم بإضافة الحقل التالي testInstance إلى الفئة Form1 .

    Dim WithEvents testInstance As TestInterface
    

    بواسطة تعريف testInstance كـ WithEvents، يمكن للفئة Form1 معالجة الأحداث الخاصة بها.

  3. أضف معالج الأحداث التالي إلى فئة Form1 لمعالجة الأحداث المرفوعة بواسطة testInstance:

    Sub EventHandler() Handles testInstance.Event1
        MsgBox("The event handler caught the event.")
    End Sub
    
  4. اضف روتين فرعي باسم Test إلى فئة Form1 لاختبار فئة تطبيق:

    Sub Test()
        '  Create an instance of the class.
        Dim T As New ImplementationClass
        ' Assign the class instance to the interface.
        ' Calls to the interface members are 
        ' executed through the class instance.
        testInstance = T
        ' Set a property.
        testInstance.Prop1 = 9
        ' Read the property.
        MsgBox("Prop1 was set to " & testInstance.Prop1)
        '  Test the method and raise an event.
        testInstance.Method1(5)
    End Sub
    

    ينشئ الإجراء Test مثيل للفئة التي تطبق MyInterface، يعيّن ذلك المثيل إلى حقل testInstance، يعين خاصية و يشغل أسلوب خلال الواجهة.

  5. أضف تعليمات برمجية لاستدعاء الإجراء Test من إجراء Form1 Load الخاص بنموذج بدء التشغيل الخاص بك:

    Private Sub Form1_Load(ByVal sender As System.Object, 
                           ByVal e As System.EventArgs) Handles MyBase.Load
        Test() ' Test the class.
    End Sub
    
  6. شغل الإجراء Test بالضغط على F5. تعرض الرسالة "Prop1 was set to 9". بعد أن تنقر "‏‏موافق" ، يتم عرض الرسالة "The X parameter for Method1 is 5". انقر فوق ‏‏موافق، يتم عرض رسالة The event handler caught the event".

راجع أيضًا:

المرجع

جملة التنفيذ

كشف واجهة (Visual Basic)

كشف الحدث

موارد أخرى

الواجهات