آموزش برنامه نویسی سی شارپ: سطح دسترسي Class member
جلسه بیست ششم: سطح دسترسي Class member (اعضاي کلاس)
سطح دسترسی Private يا خصوصي:
اگر ما یک نوع Field یا متغیری را با سطح دسترسی Private تعریف کنیم، این متغیر فقط در همان Class قایل دسترسی میباشد. به عبارتی این Field نمیتواند با خارج از Class مربوط به خود خارج شود.
ّField چیست؟
گفتیم که Field، عضوی از یک Class میباشد. همچنین به عنوان یک متغیر، در یک Class معرفی میشود. در مثال زیر، ما یک Class به نام Car داریم. درون این Class، نوعی متغیر با سطح دسترسی Private تشکیل شده است.
به مثال زیر توجه کنید. ما یک Class به نام Car ایجاد کردیم. سپس یک متغیر از نوع string اسجاد کردیم که سطح دسترسی آن Private میباشد.
class Car
{
private string model = “Benz”;
static void Main(string[] args)
{
Car Ford = new Car();
Console.WriteLine(Ford.model);
}
}
در ادامه مثال بالا، اگر شما بخواهید یک از یک Class دیگر به نام Car2 به متغیر Model درون Class Car دسترسی پیدا کنید، با خطا مواجه خواهید شد. زیرا متغیر Model که در Class Car وجود دارد، از نوع Private میباشد. گفتیم حالت دسترسی Private، اجازه نمیدهد به خارج از Class دسترسی داشته باشیم. بیایید این مثال را پیاده سازی کنیم.

class Car
{
private string model = “Benz”;
}
class Car2
{
static void Main(string[] args)
{
Car myObj = new Car();
Console.WriteLine(myObj.model);
}
}
در مثال بالا، ابتدا دو Class جدا از هم با نام های مختلف ایجاد کردیم. در Class Car2 زمانی که میخواهیم با استفاده از دستور ” . ” به properties یا خصوصیات Class یا همان مقادیر درون متغیر Model دسترسی داشته باشیم، با خطای زیر مواجه میشویم.
‘Car.model’ is inaccessible due to its protection level The field ‘Car.model’ is assigned but its value is never used
به اين دليل که اين حالت دسترسي اين Filed يا متغير Private يا خصوصي ميباشد و از خارج از Class Car نميتوانند به آن دسترسي داشته باشند.
سطح دسترسی Public یا عمومی:
اگر يک Field يا متغيري با سطح دسترسي Public يا عمومي اعلام کنيم، براي تمامي Class هاي يک برنامه، قابل دسترس و مشاهده خواهد بود.
به مثال زیر توجه کنید:
class Car
{
public string model = “Benz”;
}
class Car2
{
static void Main(string[] args)
{
Car myObj = new Car();
Console.WriteLine(myObj.model);
}
}
در مثال بالا، دو Class ایجاد کردیم به نام Car و Car2. در Class Car یک متغیر ایجاد کردیم که به نام model و یک مقداری از جنس رشته درون آن قرار دادیم. این متغیر دارای سطح دسترسی public میباشد. پس از بیرون میتوانند به این متغیر دسترسی داشته باشند.
در Class Car2 يک متد يا تابع Main تشکيل داديم. درون متد Main، از Class Car يک نمونه يا Object ايجاد کرديم به نام Myobj
در خط آخر، با استفاده از دستور ( . ) شي يا Object ايجاد شده، به مقادير متغير model دسترسي پيدا کردم. به عبارتي، Class Car2 ميتواند مقادير متغير model را ببنيد و در صورت اجراي برنامه، آن را چاپ کند. به طور پیشفرض، اگر هیچ سطح دسترسی تعیین نکنیم، همه اعضای یک Class خصوصی یا Private میباشند.
با ما همراه باشيد.
نقد و بررسیها