كيفية القيام بما يلي: الوصول إلى متغير مخفي بواسطة الفئة المشتقة
عندما تقوم تعليمات برمجية في الفئة المشتقة بالوصول إلى متغير ما، يقوم المحول البرمجي عادةً بحل المرجع إلى إصدار القابل للوصول الأقرب، وهذا يعني اصدار القابل للوصول أقل خطوات مشتقة الى الوراء من فئة الوصول. إذا تم تعريف المتغير في الفئة المشتقة, التعليمات البرمجية عادةً ما تصل إلى ذلك التعريف.
إذا كان متغر الفئة المشتقة يظلل متغير في الفئة الأساسية, فإنه يقوم بإخفاء إصدار الفئة الأساسية. ومع ذلك، يمكنك الوصول إلى متغير الفئة الأساسة بواسطة تأهيله مع MyBase الكلمة الأساسية.
لـلوصول الى متغير فئة أساسية مخفي بواسطة فئة مشتقة
في تعبير أو كشف التعيين, استهل اسم المتغير مع MyBase الكلمة الأساسية و نقطة (.).
يقم المحول البرمجي بحل المرجع إلى اصدار الفئة الأساسة للمتغير.
يوضح المثال التالي التظليل من خلال التوريث. يجعل مرجعين, أحدهما يصل إلى متغير التظليل و الأخر يتجاوز التظليل.
Public Class shadowBaseClass Public shadowString As String = "This is the base class string." End Class Public Class shadowDerivedClass Inherits shadowBaseClass Public Shadows shadowString As String = "This is the derived class string." Public Sub showStrings() Dim s As String = "Unqualified shadowString: " & shadowString & vbCrLf & "MyBase.shadowString: " & MyBase.shadowString MsgBox(s) End Sub End Class
يقوم المثال السابق بتعريف المتغير shadowString في الفئة الأساسية و يظللها في الفئة المشتقة. إجراء showStrings في الفئة المشتقة يعرض الإصدار التظليلي للسلسلة عندما يكون الاسم shadowString غير مؤهل. ثم يقوم بعرض الإصدار المظلل عندما يكون shadowString مؤهل مع الكلمة الأساسية MyBase .
برمجة نشطة
لتقليل مخاطر الإشارة إلى اصدار غير مقصود لمتغير مظلل, يمكن بالكامل تأهيل كل المراجع لمتغير مظلل. الـتظليل يقدم أكثر من إصدار متغير واحد يحمل نفس الاسم. عندما يقوم كشف تعليمات برمجية بالإشارة إلى اسم المتغير ، الإصدار الذي يحل المحول البرمجي المرجع يعتمد على العوامل مثل موقع كشف التعليمات البرمجية و وجود سلسلة مؤهلة. يمكن أن يؤدي ذلك إلى زيادة خطر الإشارة إلى إصدار خاطئ للمتغير.
راجع أيضًا:
المهام
كيفية القيام بما يلي: قم بإخفاء متغير مع نفس اسم المتغير الخاص بك تماماً
كيفية القيام بما يلي: إخفاء متغير متوارث
المرجع
المبادئ
Me, My, MyBase, and MyClass في Visual Basic