c# يستخدم معدلات الوصول ( public
، private
، محمية
) للتحكم في إمكانية الوصول إلى الأعضاء داخل الفئات والهياكل. تحدد هذه المعدلات النطاق الذي يمكن من خلاله الوصول إلى عضو في الفصل (الحقل ، الممتلكات ، الطريقة). يضيف المعدل ثابت
طبقة أخرى من التحكم ، وتحديد الأعضاء الذين ينتمون إلى الفصل نفسه ، وليس مثيلات فردية.
الوصول إلى المعدلات:
عام
: أعضاء أعلنوا باسم عام
] يمكن الوصول إليها من أي مكان - داخل نفس التجميع أو أي مجموعة أخرى تشير إليها. هذا يوفر أوسع إمكانية وصول.
خاصة
: أعضاء تم إعلانهم خاص
فقط من داخل الفصل حيث يتم تعريفهم. وهذا يفرض تغليف قوي وبيانات مختبئة.
محمية
: أعضاء تم إعلانهم باسم محمية
يمكن الوصول إليها داخل الفصل حيث يتم تعريفها ، وأيضًا ضمن الفصول المشتقة (الفئات التي ترث من الفئة الأصلية). هذا يسمح بالميراث والتوسيع للوظائف.
لا يوجد تعديل (افتراضي): إذا لم يتم تحديد معدّل وصول ، يكون مستوى الوصول الافتراضي عمومًا داخلي
. هذا يعني أن العضو لا يمكن الوصول إليه إلا من داخل نفس التجميع (المشروع) حيث يتم تعريفه.
معدل ثابت:
يشير المعدل الثابت
إلى أن أحد الأعضاء ينتمي إلى الفصل نفسه ، وليس إلى أي مثيل محدد للفصل. يتم مشاركة الأعضاء الثابتة في جميع الحالات. يتم الوصول إلى الأعضاء الثابتة باستخدام اسم الفصل ، وليس مثيل كائن. لا يمكن إنشاء فصول ثابتة.
مثال توضيحي:
public class ExampleClass
{
private int privateVar;
protected int protectedVar;
public int publicVar;
static int staticVar;
public void PublicMethod() { }
private void PrivateMethod() { }
protected void ProtectedMethod() { }
static void StaticMethod() { }
public static void Main(string[] args)
{
ExampleClass instance = new ExampleClass();
instance.publicVar = 10;
instance.PublicMethod();
// instance.privateVar = 20; // Error: private
// instance.PrivateMethod(); // Error: private
ExampleClass.staticVar = 5;
ExampleClass.StaticMethod();
}
}
في هذا المثال ، publicvar
و PublicMethod
يمكن الوصول إليها بحرية. privatevar
و privatemethod
يمكن الوصول إليها فقط داخل expleclass
. protectedvar
و محمية
يمكن الوصول إليها داخل exampleclass
وأي فئات ترث منها. staticvar
و يتم الوصول إلى StaticMethod
مباشرة من خلال اسم الفصل.
التطبيقات العملية:
معدلات الوصول أمر أساسي لمبادئ التصميم الموجهة للكائنات مثل التغليف والتجريد. أنها تساعد في التحكم في كيفية تفاعل أجزاء مختلفة من التطبيق الخاص بك ، وتعزيز قابلية صيانة الكود وتقليل الآثار الجانبية غير المقصودة. الأعضاء الثابتون مفيدون لوظائف الأداة المساعدة أو الثوابت التي لا تتطلب مثيل كائن.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3