كيفية القيام بما يلي: تعريف واستدعاء الخاصية الافتراضية في Visual Basic

الخاصية الافتراضية هي خاصية فئة أو بنية تعليمات برمجية يمكن الوصول إليه بدون تحديد ذلك. عند استدعاء تعليمات برمجية أسماء فئة أو بنية لكنه لا يسمح للخاصية بالوصول إلى خاصية، Visual Basic تحليل الوصول إلى هذه الفئة أو البنية الخاصة بالخاصية الافتراضية إن وجدت.

فئة أو بنية يمكن أن يكون لديك واحد على الأكثر خاصية الافتراضية. زيادة ومع ذلك، يمكنك أن التحميل الخاصية الافتراضية وجعل إصدار واحد أو أكثر.

لمزيد من المعلومات، راجع الافتراضي (Visual Basic).

تصريح الخاصية الافتراضية

  1. قم بتعريف خاصية بطريقة عادية. لا تقم بتحديد الكلمة الأساسية Shared أو Private.

  2. تتضمن الكلمة الأساسية Default في تعريف خاصية.

  3. تحديد معلمة واحدة على الأقل للخاصية. يتعذر تحديد الخاصية الافتراضية التي لا تستغرق وسيطة واحدة على الأقل.

    Default Property myProperty(ByVal index As Integer) As String
    

لاستدعاء خاصية افتراضية

  1. قم بتعريف متغير من نوع فئة أو بنية الذي يحتوي على الصفحة.

    Dim x As New class1(3)
    
  2. استخدم اسم المتغير بمفردها في تعبير أين هل عادة تضمين اسم خاصية.

    MsgBox(x)
    
  3. اسم المتغير مع وسيطة اتبع قائمة بين قوسين. الخاصية الافتراضية يجب أن تتخذ وسيطة واحدة على الأقل.

    MsgBox(x(1))
    
  4. لاسترداد خاصية الافتراضية القيمة, استخدم اسم المتغير مع قائمة الوسائط, أو يتبع علامة المساواة ( في تعبير=) تسجيل الدخول عبارة تعيين.

    MsgBox(x(1) & x(2) & x(3))
    
  5. لتعيين خاصية الافتراضية القيمة, استخدم اسم المتغير بقائمة وسيطة على الجانب الأيمن من عبارة التعيين.

    x(1) = "Hello"
    x(2) = " "
    x(3) = "World"
    
  6. يمكنك تحديد دوماً الخاصية الافتراضية الاسم مع اسم المتغير تماماً كما قد تقوم بذلك أية خاصية أخرى بالوصول إلى.

    x.myProperty(1) = "Hello"
    x.myProperty(2) = " "
    x.myProperty(3) = "World"
    

مثال

يقوم المثال التالي بتعريف الخاصية الافتراضية على فئة.

Public Class class1
    Private myStrings() As String
    Sub New(ByVal size As Integer)
        ReDim myStrings(size)
    End Sub
    Default Property myProperty(ByVal index As Integer) As String
        Get
            ' The Get property procedure is called when the value
            ' of the property is retrieved.
            Return myStrings(index)
        End Get
        Set(ByVal Value As String)
            ' The Set property procedure is called when the value
            ' of the property is modified.
            ' The value to be assigned is passed in the argument 
            ' to Set.
            myStrings(index) = Value
        End Set
    End Property
End Class

و مثال التعليمات البرمجية هذا يتوفر أيضاً باسم أجزاء التعليمات البرمجية المتحسسة الذكية (IntelliSense) . و في منتقي أجزاء التعليمات البرمجية المتكررة, إنها موجودة في لغة Visual Basic . لمزيد من المعلومات، راجع كيفية: إدراج أجزاء التعليمات البرمجية "التحسس الذكي.

يوضح المثال التالي كيفية استدعاء خاصية الافتراضية myProperty في الفئة class1. تخزين عبارات التعيين ثلاث قيم في myProperty، والمعلمة MsgBox يقرأ استدعاء القيم.

Sub Test()
    Dim x As New class1(3)
    x(1) = "Hello"
    x(2) = " "
    x(3) = "World"
    MsgBox(x(1) & x(2) & x(3))
End Sub

إن الاستخدام الأكثر شيوعاً من الخاصية الافتراضية هي خاصية Item على فئات مجموعة مختلفة.

برمجة نشطة

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

يمكنك تقليل من فرص أخطاء بواسطة الخاصية الافتراضية لحد ما دوماً باستخدام كشف الخيار الصارمِ لتعيين نوع التحقق في المحول البرمجي من On.

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

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

راجع أيضًا:

المهام

كيفية القيام بما يلي: إنشاء خاصية

كيفية القيام بما يلي: تقوم بتعريف خاصية مع مستويات وصول مختلطة

كيفية القيام بما يلي: الاتصال بإجراء الخصائص

كيفية القيام بما يلي: وضع إحدى القيم في خاصية

كيفية القيام بما يلي: الحصول على القيمة من الخاصية

المرجع

كشف الخاصية

الافتراضي (Visual Basic)

المبادئ

إجراءات الخاصية

معلمات إجراء و وسيطات

الفروق بين الخصائص و المتغيرات في Visual Basic