وصول متغير عضو خاص من فئة باستخدام موضوعها (المثال)
-
19-08-2019 - |
سؤال
وهنا هو رمز قصاصة VB.NET
Public Class OOPDemo
Private _strtString as String
Public Function Func(obj as OOPDemo) as boolean
obj._strString = "I can set value to private member using a object"
End Function
End Class
واعتقد اننا لا يمكن الوصول إلى أعضاء الخاص باستخدام الكائن، ولكن ربما CLR يتيح لنا أن نفعل ذلك. وهذا يعني أن معدلات الوصول تستند على النوع وليس على سبيل المثال من هذا النوع. لقد سمعت أيضا أن ج ++ كما يسمح ذلك ..
وأي التخمينات ما يمكن أن يكون السبب في ذلك؟
وتحرير:
وأعتقد أن هذا الخط من الرابط MSDN التي قدمها RoBorg يفسر هذا السلوك "مدونة في النوع الذي يعلن عنصرا الخاص، بما في ذلك رمز ضمن أنواع الواردة، ويمكن الوصول إلى العنصر"
المحلول
وسؤالك هو مربكة جدا ولكن اعتقد انني فهمت ذلك على النحو التالي: "لماذا لا يمكنني الوصول إلى حالة أخرى (صفي) الصورة المتغيرات الخاصة؟"
وكنت على حق - في جميع لغات OOP لقد استعملت يمكنك الوصول إلى المتغيرات خاصة من حالات أخرى، وتحديدا بسبب أذونات الوصول تستند إلى حيث هو رمز، بدلا من أي كائن المثال انه ينتمي '<. / P>
قد يكون من الصعب تنفيذ المنشئات نسخة أو مشغلي المساواة خلاف ذلك.
نصائح أخرى
وهنا المقطع حول مستويات الوصول في MSDN .