اصلاحگر های دستیابی در 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 را ایجاد می کند که این یک خطا محسوب می شود.
کلمات کلیدی :
» نظر