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

يقوم بتعريف اسم واجهة ثم يقدم تعريفات لأعضاء التي تشملها الواجهة .

[ <attributelist> ] [ accessmodifier ] [ Shadows ] _
Interface name [ ( Of typelist ) ]
    [ Inherits interfacenames ]
    [ [ modifiers ] Property membername ]
    [ [ modifiers ] Function membername ]
    [ [ modifiers ] Sub membername ]
    [ [ modifiers ] Event membername ]
    [ [ modifiers ] Interface membername ]
    [ [ modifiers ] Class membername ]
    [ [ modifiers ] Structure membername ]
End Interface

الأجزاء

  • attributelist
    اختياري. راجع قائمة سمة.

  • accessmodifier
    اختياري. يمكن أن يكون أحد الخيارات التالية:

    انظر مستويات الوصول في Visual Basic

  • Shadows
    اختياري. راجع الظلال.

  • name
    مطلوبة. اسم هذه الواجهة. انظر أسماء العنصر المعرف

  • Of
    اختياري. قم بـتحديد أن هذه الواجهة عامة.

  • typelist
    مطلوب إذا استخدمت الكلمة الأساسية من عبارة (Visual Basic). قائمة معلمات نوع لهذه الواجهة. اختياري، يمكن تعريف كل نوع معلمة بشكل مختلف باستخدام معدلات In و Out العامة. راجع قائمة النوع.

  • Inherits
    اختياري. يشير إلى أن هذه واجهة ترث سمات وأعضاء واجهة آخرى أو واجهات. انظر يرث الكشف

  • interfacenames
    مطلوبة إذا استخدمت الكشف Inherits. أسماء الواجهات التي تشتق من هذه الواجهه.

  • modifiers
    اختياري. المعدّلات المناسبة لعضو الواجهة الذي يتم تعريفة.

  • Property
    اختياري. يقوم بـتعريف خاصية التي هي عضو في الواجهة.

  • Function
    اختياري. يقوم بتعريف إجراء Function الذي عضو في الواجهة.

  • Sub
    اختياري. يقوم بتعريف إجراء Sub الذي عضو في الواجهة.

  • Event
    اختياري. يقوم بـتعريف حدث الذي هو عضو في الواجهة.

  • Interface
    اختياري. يقوم بـتعريف واجهة التي هي متداخلة داخل هذه الواجهة. يجب أن ينتهي تعريف واجهة متداخلة مع كشف End Interface.

  • Class
    اختياري. يقوم بـتعريف فية التي هي عضو في الواجهة. يجب أن ينتهي تعريف فئة عضو مع كشف End Class.

  • Structure
    اختياري. يقوم بـتعريف بنية التي هي عضو في الواجهة. يجب أن ينتهي تعريف بنية عضو مع كشف End Structure.

  • membername
    مطلوب من أجل كل خاصية ، إجراء, حدث, واجهة ، فئة أو بنية يتم تعريفها كعضو في الواجهة. اسم العضو.

  • End Interface
    يقوم بإنهاء تعريف Interface.

ملاحظات

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

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

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

الـواجهات افتراضية لاتصال صديق (Visual Basic). يمكنك ضبط مستويات الوصول الخاصة بهم بمعدلات الوصول. لمزيد من المعلومات، راجع مستويات الوصول في Visual Basic.

القواعد

  • واجهات متداخلة . يمكنك تعريف واجهة واحدة في أخرى. تـسمى الواجهة الخارجية واجهةالاحتواء , و تسمى الواجهة الداخلية واجهة متداخلة.

  • تعريف الـعضو . عند التصريح عن خاصية أو إجراء كعضو في واجهة, تقوم بتعريف فقطالـتوقيع لتلك الخاصية أو الإجراء. يتضمن هذا نوع العنصر (الخاصية أو الإجراء) المعلمات الخاصة به و الأنواع المعلمة و نوع الإرجاع الخاص به. لهذا السبب، يستخدم تعريف العضو من خط واحد فقط من التعليمات البرمجية ، و عبارات الإنهاء مثل End Function أو End Property غير صالحة في واجهة.

    وفي المقابل، عند تعريف قائمة تعداد أو بنية أو فئة متداخلة أو واجهة فانه من الضروري اضافة أعضاء البيانات الخاصة بهم.

  • معدّلات العضو. لا يمكنك استخدام أي معدّلات اتصال عند تعريف أعضاء وحدة نمطية ولا يمكن تحديد (Visual Basic) المشترك أو أي معدّل إجراء باستثناء الزوائد (Visual Basic). يمكنك تعريف أي عضو مع الظلال (Visual Basic)، ويمكنك استخدام الافتراضي (Visual Basic) عند تعريف خاصية ، بالإضافة إلى للقراءة فقط (Visual Basic) أو Visual Basic) WriteOnly).

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

    لا ترث واجهة من واجهة أخرى مع أكثر تقييداً مستوى وصول. على سبيل المثال، واجهة Public لا ترث من واجهة Friend .

    لا ترث واجهة من واجهة متداخله بها.

  • التنفيذ. عندما تستخدم فئة كشف عبارة التطبيقات (Visual Basic) لتطبيق هذه الواجهة, يجب أن تقوم بتنفيذ كل عضو معرّف في الواجهة. علاوة على ذلك، كل توقيع في تعليمات برمجية المنفذه يجب أن تقوم بمطابقة التوقيع المقابل بالضبط المعرف في هذه واجهة. ومع ذلك، لا يحتاج اسم العضو في تعليمات برمجية المنفذة إلى مطابقة اسم العضو كما هو معرف في الواجهة.

    عندما تقوم فئة بتطبيق إجراء, فإنه لا يمكنها تعيين الإجراء كـ Shared.

  • الخاصية الافتراضية. يمكن لواجهة تعيين خاصية واحدة على الأكثر كـ الخاصية الافتراضية الخاصة بها، التي يمكن الرجوع إليها بدون استخدام اسم الخاصية. يمكن تحديد مثل هذه خاصية بواسطة تعريفها مع معدّل الافتراضي (Visual Basic).

    لاحظ أن هذا يعني أنه يمكن لواجهة تعريف خاصية افتراضية فقط عندما لا ترث شيء.

السلوك

  • مستوى الوصول. كل أعضاء واجهة لديهم ضمنيًا اتصال عام (Visual Basic) . لا يمكنك استخدام أي معدّل اتصال عند تعريف عضو. ومع ذلك، يمكن أن لفئة تقوم بتطبيق الواجهة تعريف مستوى اتصال لكل عضو مطبق.

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

    Public Interface IDemo
        Sub doSomething()
    End Interface
    Public Class implementIDemo
        Implements IDemo
        Private Sub doSomething() Implements IDemo.doSomething
        End Sub
    End Class
    Dim varAsInterface As IDemo = New implementIDemo()
    Dim varAsClass As implementIDemo = New implementIDemo()
    

    في حالة الاتصال بأعضاء الفئة خلال varAsInterface، لديهم جميعاً اتصال عام. ومع ذلك، إذا قمت بالاتصال بالأعضاء خلال varAsClass، Sub الإجراء doSomething ليه اتصال خاص.

  • النطاق. الواجهة في نطاق خلال مساحة الاسم , الفئة ، البنية أو الوحدة النمطية الخاصة بها.

    نطاق كل عضو واجهة هي الواجهة بأكملها.

  • مدة البقاء. الواجهة نفسها لا تملك مدة بقاء ولا أعضاؤها أيضا. عندما تطبّق فئة واجهة و يتم إنشاء كائن كـمثيل فئة, فان الكائن لديه مدة بقاء داخل التطبيقات التي ينفذ فيها. لمزيد من المعلومات، راجع "مدة بقاء" في عبارة Visual Basic) Class).

مثال

يستخدم المثال التالي كشف Interface لتعريف واجهة باسم thisInterface، حيث يجب أن يتم تطبيقها مع Property الكشف و Function الكشف.

Public Interface thisInterface
    Property thisProp(ByVal thisStr As String) As Char
    Function thisFunc(ByVal thisInt As Integer) As Integer
End Interface

لاحظ أن Property و Function الكشوف لاتقوم بإدخال مقاطع بـ End Property و End Function في الواجهة. تـعرّف الواجهة فقط تواقيع أعضائها. الكاملProperty و Function المقاطع تظهر في فئة التي تطبق thisInterface.

راجع أيضًا:

المرجع

عبارة Visual Basic) Class)

كشف الوحدة النمطية

كشف بنية

كشف الخاصية

كشف دالة (Visual Basic)

عبارة Vsual Basic) Sub)

في (معدّل عام) في (Visual Basic)

Out (معدّل عام) في (Visual Basic)

المبادئ

الـأنواع العامة في Visual Basic

الالفرق في الواجهات العامة (C# و Visual Basic)

موارد أخرى

الواجهات