سفارش تبلیغ
صبا ویژن

اصلاحگر های دستیابی در c# (Access Modifiers)

 روش های دسترسی به متدها و خاصیتهای تعریف شده در داخل یک کلاس به چهار دسته تقسیم می شود:

public-private-internal-protected

1.public

متد ها و خاصیت هایی که در یک کلاس به صورت  public تعریف شوند ، هر کلاسی که از این کلاس یک نمونه می سازد یا از این کلاس ارث بری دارد ،‌ می تواند به این عناصر دسترسی داشته باشد.

2.private

متدها و خاصیت هایی که در یک کلاس به صورت private تعریف شوند ، تنها در داخل همان کلاس قابل دسترسی هستند.

مثال:

class Employee

{

   public string name = "xx";

   double salary = 100.00;   // private access by default

   public double AccessSalary()

    {return salary;

  }

}

class MainClass

{

   public static void Main()

   {

      Employee e = new Employee();

   // Accessing the public field:

      string n = e.name;

   // Accessing the public field:

      double s = e.AccessSalary();

//   Accessing the private field is false:

 double s = e.salary; // error

   }

}

3.protected

متدها و خاصیت هایی که در یک کلاس به صورت protected تعریف شوند، در داخل همان کلاس و کلاسهایی که از این کلاس مشتق شده اند (ارث برده اند) قابل دسترس هستند و نمونه های ایجاد شده از کلاس به این متدها و خاصیت ها دسترسی ندارند.

4.internal

کلاسها یی که به صورت internal تعریف شوند، تنها کلاسهایی می توانند از آنها استفاده کنند که در یک اسمبلی یکسان تعریف شده باشند.

مثال:

// Assembly1.cs

internal class BaseClass

{

   public static int IntM = 0;

}

// Assembly2.cs

class TestAccess

{

   public static void Main()

   {

      BaseClass myBase = new BaseClass();   // error

   }

}

در مثال فوق کلاس baseClass در اسمبلی 1 به صورت internal تعریف شده است ، کلاس testAccess تعریف شده در اسمبلی 2 یک نمونه از کلاس baseClass را ایجاد می کند که این یک خطا محسوب می شود.

 


» نظر
MS_P center_left3b