ویژگی ها به شما امکان می دهد تا دسترسی به متغیرهای کلاس را کنترل کنید، و روش پیشنهادی برای دسترسی به متغیرها از خارج، در یک زبان برنامه نویسی شیء گرا مانند سی شارپ است. در فصلی که درباره ی کلاس ها صحبت کردیم، برای اولین بار شاهد استفاده از یک ویژگی بودیم که مفهوم واقعاً ساده ای داشت. یک ویژگی بسیار شبیه به ترکیبی از یک متغیر و یک متد است – نمی تواند هیچ پارامتری را اتخاذ کند، اما شما می توانید قبل از اختصاص آن به متغیر بازگشتی ما، مقدار را پردازش کنید.
یک ویژگی شامل ۲ قسمت می باشد: یک متد دریافت و یک متد تنظیم که در داخل ویژگی قرار داده شده است:
توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار!
private string color;
public string Color
{
get { return color; }
set { color = value; }
}
متد get باید متغیر را برگرداند، در حالی که باید به متد set مقداری را اختصاص دهید. مثال ما به همان سادگی get است، اما می تواند بسط داده شود. چیز دیگری که باید در مورد ویژگی ها بدانید این واقعیت است که فقط یک متد مورد نیاز است – یا متد get یا متد set، استفاده از دیگری اختیاری است. این به شما امکان می دهد ویژگی های فقط خواندنی و فقط نوشتنی را تعریف کنید. در اینجا مثال بهتری برای کاربردی بودن ویژگی ها آورده شده است:
public string Color
{
get
{
return color.ToUpper();
}
set
{
if(value == “Red”)
color = value;
else
Console.WriteLine(“This car can only be red!”);
}
}
خب در این مثال؛ کمی ویژگی خودمان را پیشرفته تر کرده ایم. متغیر color (رنگ) اکنون با کاراکترهایی بازگردانده می شود که با حروف بزرگ مشخص می شود، زیرا ما قبل از آنکه کاراکترها بازگردانده شوند؛ متد () ToUpperرا روی آن اعمال می کنیم و هنگامی که سعی می کنیم رنگ را تنظیم کنیم، فقط مقدار “Red” (قرمز) پذیرفته می شود. مطمئن باشد که این مثال، خیلی کاربردی نیست؛ اما پتانسیل ویژگی ها را نشان می دهد.